我正在努力得到一个应该是简单的布局,遵循的约束:
1:一行中的控件不应该垂直扩展到占据整个窗口,而应该保持整行的高度;这通常通过使用VerticalAlignment="Top"
来解决
2:每行可以有任意数量的固定宽度项;每个项目可以具有不同的固定宽度
3:每一行都可以有一个或多个用户控件,这些控件应该水平扩展以适应剩余的宽度,即使在调整窗口大小时也是如此
4:可以将***#3*中的每个控件指定为平均分布(或*n)宽度
5:每行可以有不同的柱形线(不覆盖完美的网格)
6:行与行之间应该有空行/间隔符
使用Grid
似乎不起作用:
- 无法预定义每列
Width
不允许在组件级别使用*
说明符
StackPanel
和DockPanel
让我有点明白,但不是真的明白
一般来说,我最终得到的是堆叠在彼此顶部的组件,这些控件不会展开以填充剩余的空间。
第一次
第一次
请记住,根据***#5***,列不一定对齐(此图片只是使用Excel模拟的副作用)x1c4d 1x
每一个“如何”或“示例”都显示了一行,而不是多行,没有解决可变列定义,或者跳过了占用可变宽度/扩展的控件。我遗漏了什么?
感谢您的帮助和指导。
1条答案
按热度按时间kupeojn61#
因为你不需要匹配列宽,而不是一个共同的网格,在我看来,你应该使用一个单独的单行网格的每一行。
若要简化标记,您可以建立自己的自订Grid,根据子系的数目加入栏,并从子系接收栏宽。
这是一个实施示例。
只是不要把它当作一个完整的解决方案。这只是一个可能的选择示范。
此实现中可能存在错误或缺陷。
我还没有完全测试这个代码。
第一个