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

问题描述 投票:3回答:3

我不能让我的UWP对话超过一些固定的宽度。这个应用程序已经生产了几年,但在最后一次更新后,对话框都是一些奇怪的固定宽度。我正在使用MVVM光并刚刚更新到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"/>
uwp dialog size
3个回答
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>

1
投票

根据之前的回复,我开始研究ContentDialog的样式。我找不到使用blend的默认样式,所以我决定创建自己的样式。我所做的就是将Documented style for ContentDialog发布的样式复制到我自己的样式库中,然后将其应用到我所有的ContentDialog屏幕上。这就行了,我又回来了。我怀疑几天前我应用的最新VS更新中缺少某些内容。


1
投票

正如@Tom所说,我将MaxWidth和MaxHeight键复制到App Resources中,并更改为我想要的值。不需要这种风格的其他部分。

<Application.Resources>
    <x:Double x:Key="ContentDialogMaxWidth">1200</x:Double>
    <x:Double x:Key="ContentDialogMaxHeight">800</x:Double>
© www.soinside.com 2019 - 2024. All rights reserved.