在我的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等)上均受支持。