Привязка ширины DialogHostContent к размеру экрана?

Как задать ширину Grid 60% в DialogHost от размеров окна? И при изменении размеров окна изменился размер Grid.

<MaterialDesign:DialogHost x:Name="DialogHost" Style="{DynamicResource MaterialDesignEmbeddedDialogHost}" Margin="0" Panel.ZIndex="1000" DialogMargin="0" Grid.ColumnSpan="3" Grid.RowSpan="2" Focusable="False" IsManipulationEnabled="True" HorizontalAlignment="Center" VerticalAlignment="Center">
    <MaterialDesign:DialogHost.DialogContent>
        <Grid></Grid>
    </MaterialDesign:DialogHost.DialogContent>
</MaterialDesign:DialogHost>

Ответы (1 шт):

Автор решения: aepot

Через C# не умею (да и зачем уметь?), а через XAML как-то так.

<Grid>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="6*"/>
        <ColumnDefinition Width="4*"/>
    </Grid.ColumnDefinitions>
    <Grid x:Name="SixtyPercent">
        <!-- 60% -->
    </Grid>
</Grid>
<MaterialDesign:DialogHost x:Name="DialogHost" Style="{DynamicResource MaterialDesignEmbeddedDialogHost}" Margin="0" Panel.ZIndex="1000" DialogMargin="0" Grid.ColumnSpan="3" Grid.RowSpan="2" Focusable="False" IsManipulationEnabled="True" HorizontalAlignment="Center" VerticalAlignment="Center">
    <MaterialDesign:DialogHost.DialogContent>
        <Grid Width="{Binding ActualWidth, ElementName=SixtyPercent}">
        </Grid>
    </MaterialDesign:DialogHost.DialogContent>
</MaterialDesign:DialogHost>

→ Ссылка