在我的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>

最佳答案

看起来这是ContentDialog的默认行为。如果您调整UWP应用程序窗口的大小,则会看到它根据窗口的大小在垂直和水平方向上拉伸。我的猜测是故意这样做的,因此您的应用程序对话框在所有平台(台式机,移动设备,平板电脑,xbox等)上均受支持。

10-08 03:11