uwp - 如何根据内容制作ContentDialog大小?

时间:2017-04-07 03:13:15

标签: dialog uwp size

在我的ContentDialog中,我有一个StackPanel,其中包含三个控件(垂直方向)。我的问题是ContentDialog的高度一直延伸到窗口的底部,即使它的内容甚至不占据它的一半。

我猜这可能是StackPanel的问题,但我该如何解决这个问题呢?

我可以设置一个MaxHeight,但我必须使用每ContentDialog个不同的固定值填充它...

更新

这是在MainPage.xaml(VS UWP模板的默认起始页)中。 XAML仅显示一个用例按钮的创建,在Click事件上显示:

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
        DataEntryDialog dialog = new DataEntryDialog();

        //Show dialog
        await dialog.ShowAsync();
    }

DataEntryDialog.xaml:

<ContentDialog
    x:Class="App1.Dialogs.UserAccountDataEntryDialog"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    mc:Ignorable="d"
    Title="TITLE"
    PrimaryButtonText="Save"
    SecondaryButtonText="Cancel"
    Loaded="ContentDialog_Loaded"
    PrimaryButtonClick="ContentDialog_PrimaryButtonClick">

    <StackPanel>
        <TextBox Header="Username" Margin="0,20,0,0"/>
        <PasswordBox Header="Password" Margin="0,12,0,0"/>
        <CheckBox Content="Active" Margin="0,12,0,0"/>
    </StackPanel>
</ContentDialog>

1 个答案:

答案 0 :(得分:1)

看起来这是ContentDialog的默认行为。如果您调整UWP应用程序窗口的大小,您将看到它根据窗口的大小垂直和水平拉伸。我的猜测,这是有目的的,所以你的应用程序的对话框在所有平台(桌面,移动设备,平板电脑,Xbox等等)上都受支持。