我刚开始使用WPF。由于某些原因,我无法在谷歌上找到我的问题的答案...
我想放置具有不同高度的块来实现级联布局。我看到了这个答案How to appose WrapPanel items of different heights (vertically)?,但它使用了第3部分的实现
我的代码:
<WrapPanel>
<StackPanel>
<WrapPanel>
<GroupBox Header="Block1" VerticalAlignment="Top">
<StackPanel Width="200" Height="50" Background="Gray"/>
</GroupBox>
<GroupBox Header="Block2">
<StackPanel Width="200" Height="150" Background="LightBlue"/>
</GroupBox>
<GroupBox Header="Block3">
<StackPanel Width="200" Height="25" Background="LightCoral"/>
</GroupBox>
</WrapPanel>
</StackPanel>
</WrapPanel>
当窗口处于正常状态时,它看起来没问题:
但是当窗口最大化时,它看起来如此:
看起来应该是这样的:
在哪里搜索?搜索什么?我该怎么做才能实现这种行为?
非常感谢!
答案 0 :(得分:2)
不确定这是否是您想要的,但如果它们的宽度相同(只是高度不同),只需将WrapPanel
垂直放置即可。至少它会摆脱水平差距:
<WrapPanel Orientation="Vertical">
<GroupBox Header="Block1">
<StackPanel Width="200" Height="50" Background="Gray"/>
</GroupBox>
<GroupBox Header="Block2">
<StackPanel Width="200" Height="150" Background="LightBlue"/>
</GroupBox>
<GroupBox Header="Block3">
<StackPanel Width="200" Height="25" Background="LightCoral"/>
</GroupBox>
</WrapPanel>