der*_*ral 14 wpf xaml wrappanel wpf-controls stackpanel
以下示例中的标签(WPF/XAML)只是在屏幕上游行,不会发生包装.删除方向有效,但不提供所需的功能/外观.任何想法如何使WrapPanel包装到当前的大小StackPanel?
<Window Height="300" Width="600">
<StackPanel Orientation="Horizontal">
<WrapPanel>
<Label Height="28" Name="label1" Width="120">First Name</Label>
<Label Height="28" Name="label2" Width="120">John</Label>
<Label Height="28" Name="label3" Width="120">Last Name</Label>
<Label Height="28" Name="label4" Width="120">Smith</Label>
<!-- ...more labels!... -->
</WrapPanel>
<!-- ...other controls/panels... -->
</StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)
由于StackPanel在进行水平布局时使用的算法,您正在做的事情是不可能的.它基本上会问每个子元素它想要的大小,无论它要求多大的空间,它都会给它.
您可能需要:
Width或MaxWidth上WrapPanel.WrapPanel作为外部面板代替StackPanel.