【发布时间】:2015-08-12 04:32:56
【问题描述】:
我的窗口中有以下 XAML:
<WrapPanel>
<WrapPanel.Resources>
<Style TargetType="Rectangle">
<Setter Property="Margin" Value="10,10,10,10"/>
<Setter Property="VerticalAlignment" Value="Top"/>
</Style>
</WrapPanel.Resources>
<Rectangle Height="100" Width="100" Fill="Red"/>
<Rectangle Height="200" Width="200" Fill="Yellow"/>
<Rectangle Height="150" Width="150" Fill="Green"/>
<Rectangle Height="50" Width="50" Fill="Blue"/>
<Rectangle Height="250" Width="250" Fill="Purple"/>
</WrapPanel>
我正在寻找的是一种在换行面板中“水平对齐”子元素的方法,以便窗口看起来像这样:
有什么方法可以在包装面板中实现这一点,还是我需要考虑使用其他控件或编写自定义控件?
【问题讨论】:
-
您能否详细说明所需布局的约束条件?红色矩形似乎不像其他矩形那样“水平对齐”,所以并不完全清楚你在追求什么。要获得您为黄色矩形提供边距的图像就足够了,但我猜您需要一些不那么手工制作的东西。
-
我只是在为数据输入屏幕测试一些东西,我试图在表格中对齐每个“组”控件,例如布局,而不是让每个控件交错。在我的实际应用程序中,我将用堆栈面板/网格替换矩形。矩形仅用于演示。
-
是的,我对矩形没有任何问题。我不明白为什么红色矩形与紫色矩形水平重叠,但黄色矩形向右移动?是不是每行(这里:红色和紫色)的第一个元素是左对齐的,后面的元素(这里:黄色和无)不允许水平重叠?
-
我添加的第三张图片有帮助吗?我基本上是在寻找行为类似于网格控件的东西,而无需明确指定我需要的行数或列数。
-
是的,谢谢,现在很清楚了:-)