【发布时间】:2014-07-27 06:23:00
【问题描述】:
我有一个包装面板,其中包含多个控件(如下所示),并且取决于这些控件可能显示/隐藏的场景,除了 2 个控件将始终显示并需要位于包装面板中的固定位置。
DynamicControl1 DynamicControl2 DynamicControl3 FixedControl1 FixedControl2
DynamicControl4 DynamicControl5 DynamicControl6 DynamicControl7 DynamicControl8
我想要实现的是:如果DynamicControl3和DynamicControl4折叠了,后续的动态控件需要自动取空如下:
DynamicControl1 DynamicControl2 DynamicControl5 FixedControl1 FixedControl2
DynamicControl6 DynamicControl7 DynamicControl8
但是根据 wrap 面板的默认行为,FixedControl1 和 FixedControl2 会占用我不想要的空白。
【问题讨论】:
-
不清楚你要什么..
-
刚刚更新了问题,希望这会让问题更清楚
-
解决问题的一种方法是编写自己的面板。对于您的场景来说,这并不复杂。其他控件的大小是否固定?或者 DC1、DC2、D3 的组合可以比 DC1、DC2、DC5 更宽吗?我问是因为你可以对面板的孩子进行排序。如果在固定的 f.e. 之前只有一个控件,这当然不起作用
-
所有控件可以有不同的宽度,所以如果空白空间不足以容纳后续控件,我想将空白空间留在那里。
-
@json 你的控件是同一类型的吗?您是在 xaml 中静态创建这些控件吗?
标签: wpf silverlight xaml user-interface