0

我有一个场景,我在视图模型中更改内容对话框的大小。这在 AnniversaryUpdate 中运行良好,但在 Creators Update 中,我得到了完全不同(且不可行)的行为。

我有一个内容对话框,我想根据用户输入将屏幕尺寸从纵向更改为横向。在构建 14393(周年纪念)中,它工作得很好。当我将项目切换为使用 Creators Update (150630) 时,它根本不起作用。

这是导致该问题的 XAML 代码:

<ContentDialog
x:Class="DialogView"
...snip...
Background="LightGray"
MinHeight="{Binding GridHeight}" MinWidth="{Binding GridWidth}">

<Grid HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
    <Grid Background="AliceBlue" Visibility="Collapsed"/>
    <Button Content="{Binding Orientation}" Height="40" Click="ToggleButton_Click" VerticalAlignment="Top" HorizontalAlignment="Left"/>
</Grid>

当我为 Creators Update 运行构建时,我得到一个不会改变大小的非常小的对话框。

4

1 回答 1

0

14393 中 Windows.UI.Xaml.Controls.ContentDialog 的默认样式与 15063 中 Windows.UI.Xaml.Controls.ContentDialog 的默认样式不同。

在 15063 中 Windows.UI.Xaml.Controls.ContentDialog 的默认样式中,它使用ContentDialogMinHeightandContentDialogMinWidth来设置MinHeightand MinWidth。和的默认值为184 和 320 ContentDialogMinHeightContentDialogMinWidth

当您将值设置为控件中的MinHeightMinWidth属性时ContentDialog,它不会更改样式中定义的值。

在 14393 中,它没有在默认样式中定义MinHeightand 。MinWidth如果想在 15063 中得到MinHeightMinWidth14393 一样的,应该可以复制 15063 中的默认样式,去掉以下代码:

<Setter Property = "MinHeight" Value="{ThemeResource ContentDialogMinHeight}" />
<Setter Property = "MinWidth" Value="{ThemeResource ContentDialogMinWidth}" />
于 2017-07-27T05:54:59.520 回答