我想要做的是显示一个窗口,它没有明确地具有高度/宽度(两个值都被省略或设置为Auto)。我猜测窗口会通过自动计算所有包含的用户控件大小来找出它的大小,但这实际上不起作用!
Auto
相反,我得到一个大窗口,Actualwidth并且Actualheight值都设置为 512 (?!?!)
Actualwidth
Actualheight
窗口声明:
<Window x:Class="Window3" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Title="Window3" Height="Auto"> <StackPanel> <Label>Window</Label> </StackPanel> </Window>
通过以下方式将此窗口显示为对话框:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs) Handles Button2.Click Dim dlg As New Window3 dlg.ShowDialog() End Sub
有解决方案吗?我不想明确设置窗口的大小,因为表单中的许多控件将根据构造函数参数折叠,并且试图找到表单的实际大小会很棘手(而且很难看)。
设置窗口的属性SizeToContent="WidthAndHeight"。这应该会有所帮助。
SizeToContent="WidthAndHeight"