Wrap面板连续的项目共享高度

时间:2011-02-26 10:04:26

标签: c# wpf panel

我想在面板上添加方块,让它们像包裹面板一样包裹。

然后我想让每个方块单独水平调整大小,但是当它垂直调整大小时,我需要它来影响它行中的所有项目。

基本上,我希望连续的所有项目始终共享相同的高度,但是为用户提供一种选择此高度的方法(当然,每行可以有自己的高度,并且当方块包裹到新的高度时他们将需要继承新的高度。)

顺便说一句,这些“正方形”只是用户控件或应用于列表框项源的数据模板。我可以在包装面板上使用相同的绑定,广告可能我需要选择不同的解决方案吗?

谢谢

1 个答案:

答案 0 :(得分:0)

您可以尝试将每个“矩形”放在一行和一列的Grid中,然后在RowDefinition上使用SharedSizeGroup。一定要在容器上放置Grid.IsSharedSizeScope =“True”:

    <WrapPanel Grid.IsSharedSizeScope="True">
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition SharedSizeGroup="Group1" />
            </Grid.RowDefinitions>
            <Button Height="40" Content="Hello" />
        </Grid>
        <Grid>
            <Grid.RowDefinitions>
                <RowDefinition SharedSizeGroup="Group1" />
            </Grid.RowDefinitions>
            <Button Content="Hello2" />
        </Grid>
    </WrapPanel>