无法正确调整 UWP 内容对话框的大小

Tom*_*ley 6 size dialog uwp

我无法让我的 UWP 对话框超过某个固定宽度。这个应用程序已经投入生产几年了,但是在最后一次更新之后,对话框都是一些奇怪的固定宽度。我正在使用 MVVM light 并且刚刚更新到 5.4.1,但我只是调用从 ContentDialog 子类化的对话框对象。正如我所提到的,这已经运行了 1.5 年左右,但不确定为什么它停止工作。任何帮助将不胜感激。谢谢。

xaml代码如下:

SecondaryButtonText="Cancel"
PrimaryButtonClick="ContentDialog_PrimaryButtonClick"
SecondaryButtonClick="ContentDialog_SecondaryButtonClick"
Width="Auto"
MinWidth="1000"
Opened="ContentDialog_Opened"
Closed="ContentDialog_Closed"
DataContext="{Binding Source={StaticResource ViewModelLocator}, Path=ClockDialog}">

<Grid HorizontalAlignment="Stretch" MinWidth="900">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="1.3*"/>
        <ColumnDefinition Width="4*" MinWidth="200"/>
        <ColumnDefinition Width="1.3*"/>
        <ColumnDefinition Width="4*" MinWidth="200"/>
    </Grid.ColumnDefinitions>
    <Grid Grid.Column="0">
        <StackPanel Orientation="Vertical">
        <TextBlock Margin="0,6" Text="Type:" Style="{StaticResource CCBlackTextBlock}" HorizontalAlignment="Right"/>
        <TextBlock Margin="0,8"  Text="Mfg:" Style="{StaticResource CCBlackTextBlock}" HorizontalAlignment="Right"/>
Run Code Online (Sandbox Code Playgroud)

小智 5

正如@Tom 所指出的,我将 MaxWidth 和 MaxHeight 键复制到应用程序资源中,并更改为我想要的值。不需要样式的其他部分。

<Application.Resources>
    <x:Double x:Key="ContentDialogMaxWidth">1200</x:Double>
    <x:Double x:Key="ContentDialogMaxHeight">800</x:Double>
Run Code Online (Sandbox Code Playgroud)


Sea*_*eil 1

ContentDialog 的默认样式规定 MaxHeight 为 184,MaxWidth 为 548: https://msdn.microsoft.com/en-us/library/windows/apps/mt299120.aspx

也许正如您怀疑的那样,这是在更新中添加或更改的。要覆盖样式属性,请尝试以下操作:

<Grid Name="MyContainer">
    <Grid.Resources>
        <Style TargetType="ContentDialog" x:Key="largeDialaog">
            <Setter Property="MaxHeight" Value="720" />
            <Setter Property="MaxWidth" Value="1280" />
        </Style>
    </Grid.Resources>
    <ContentDialog Style="{StaticResource largeDialog}">
        <!--your content goes here-->
    </ContentDialog>
</Grid>
Run Code Online (Sandbox Code Playgroud)