1

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

所以假设这个控件会有一些像子控件一样的磁贴,假设在某一时刻我的容器有 4 个磁贴 - 16X16 填充整个控件。当我添加下一行图块时,我希望现有的 4 个图块缩小到 12X12,我不希望容器的大小可以容纳,因为我不想达到我的用户滚动的地步穿过容器。

请让我知道是否有人有任何想法......?

4

2 回答 2

1

我想不出任何方法来使用库存面板,但是编写自己的面板以以最佳网格大小排列会非常简单。也许您可以子类UniformGrid化以在添加子项时将行/列设置为适当的值。

一旦你有了它,你就可以把整个东西粘在一个ViewBox自动缩放的地方。

于 2012-05-31T13:13:47.093 回答
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>
于 2012-05-31T14:14:19.447 回答