根据其他项目的可见性排列网格项目

时间:2013-06-14 20:47:50

标签: c# wpf visual-studio-2010 xaml

我有一个显示标签,文本框和组合框的面板,后面的代码将可见性设置为可见或折叠,具体取决于用户从所述面板外部的ComboBox中的选择。什么是消除Panel中间隙的最佳方法,以及获取网格右侧可见的所有项目(如果前一列底部有空单元格,则减少列位置)?我应该使用哪种类型的面板?我应该将它们分成不同的面板吗?

编辑:

对于我想要发生的事情,这是一个糟糕的Excel解释:http://imgur.com/ZVRh6Yq

我基本上想让一切都转到左上角

1 个答案:

答案 0 :(得分:0)

如果没有一些图表或草图,很难理解你的布局,但我认为如果你将行高/列宽设置为“自动”,你可以使用网格布局。这将导致每个网格行/列足够大,足以显示其自己的内容。

您还可以使用其他布局类型,例如StackPanel或DockPanel,它们可以减少对控件定位的控制,但可以提供舒适的自动布局。

编辑:

您可以使用WrapPanel来获得预期结果:

<WrapPanel Orientation="Vertical">
    <Label/>
    <TextBox/>
    <ComboBox/>
</WrapPanel>