我无法让我的 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)
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)
| 归档时间: |
|
| 查看次数: |
2618 次 |
| 最近记录: |