动态包裹网格

时间:2014-10-02 15:42:31

标签: .net wpf

这些复选框位于包装面板中。 有没有办法获得动态对齐的列。 我的意思是每列只有它必须宽。 并非所有列都具有相同的宽度

这是一个相当大的窗口。复选框根据需要进行换行。 这就是WrapPanel的作用。我想要的是复选框动态排队。但是我不想仅仅通过最广泛的空间来获得它。

抱歉,我不清楚。我不想要固定数量的列。我想动态包装并按列排列。

UniformGrid在两个方面没有做我想做的事。 所有列都具有相同的宽度和固定数量的列。 如果你离开Columns = out,那么我默认为3。

enter image description here

1 个答案:

答案 0 :(得分:1)

您应该尝试UniformGrid控件。这是一个例子:

<StackPanel>
    <WrapPanel Margin="10">
        <CheckBox Margin="5">All</CheckBox>
        <CheckBox Margin="5">Child</CheckBox>
        <CheckBox Margin="5">Parent</CheckBox>
        <CheckBox Margin="5">ParNoChild</CheckBox>
        <CheckBox Margin="5">ParHasChild</CheckBox>
        <CheckBox Margin="5">FamGT1</CheckBox>
        <CheckBox Margin="5">NoLock</CheckBox>
        <CheckBox Margin="5">AnyLock</CheckBox>
        <CheckBox Margin="5">CodeOnce</CheckBox>
    </WrapPanel>
    <UniformGrid Margin="10" Columns="4">
        <CheckBox Margin="5">All</CheckBox>
        <CheckBox Margin="5">Child</CheckBox>
        <CheckBox Margin="5">Parent</CheckBox>
        <CheckBox Margin="5">ParNoChild</CheckBox>
        <CheckBox Margin="5">ParHasChild</CheckBox>
        <CheckBox Margin="5">FamGT1</CheckBox>
        <CheckBox Margin="5">NoLock</CheckBox>
        <CheckBox Margin="5">AnyLock</CheckBox>
        <CheckBox Margin="5">CodeOnce</CheckBox>
    </UniformGrid>
</StackPanel>

看起来像这样:

enter image description here