用于调整子项大小的WPF容器

时间:2012-05-31 13:05:14

标签: wpf containers sizing

我需要找到一个WPF容器控件,当使用固定大小布局时,可以充分调整子控件的大小,以便在容器中创建/添加新项目时减少每个子控件的大小。

因此假设这个控件有一些像儿童控件一样的瓷砖,假设我的容器有一个4个瓷砖 - 16X16填充整个控件。当我添加下一行瓷砖时,我希望现有的4个瓷砖缩小到12X12,我不希望容器的大小适应,因为我不希望达到用户滚动的程度穿过集装箱。

如果有人有任何想法,请告诉我吗?

2 个答案:

答案 0 :(得分:1)

我无法想到用库存面板做任何事情,但是编写自己的面板来安排最佳网格尺寸会非常简单。也许您可以将UniformGrid子类化为在添加子项时将行/列设置为适当的值。

一旦你拥有了它,你可以将整个事物放在ViewBox中自动进行缩放。

答案 1 :(得分:0)

这样的事情可能会起作用

<ItemsControl >
    <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
            <UniformGrid  />
        </ItemsPanelTemplate>
    </ItemsControl.ItemsPanel>
    <Grid Width="50" Height="70" Background="Red" />
    <Grid Width="50" Height="70" Background="Orange" />
    <Grid Width="50" Height="70" Background="Blue" />
    <Grid Width="50" Height="70" Background="Green" />
    <Grid Width="50" Height="70" Background="Yellow" />
    <Grid Width="50" Height="70" Background="Brown" />
    <Grid Width="50" Height="70" Background="Violet" />
    <Grid Width="50" Height="70" Background="AntiqueWhite" />
    <Grid Width="50" Height="70" Background="DarkGoldenrod" />
    <Grid Width="50" Height="70" Background="Firebrick" />
    <Grid Width="50" Height="70" Background="Thistle" />
</ItemsControl>