我需要找到一个WPF容器控件,其中当以固定大小展开时,可以充分调整儿童控件的大小,以便在创建/添加新项目时减小每个子控件的大小集装箱。调整儿童大小的WPF容器
因此,假设这个控件将有一些像子控件一样的图块,假设在一个点上我的容器有4个图块 - 16X16填充整个控件。当我添加下一行瓷砖时,我希望现有的4个瓷砖缩小到12X12,我不希望容器的大小适应,因为我从不希望到达用户滚动的位置穿过集装箱。
如果有人有任何想法,请让我知道...?
我需要找到一个WPF容器控件,其中当以固定大小展开时,可以充分调整儿童控件的大小,以便在创建/添加新项目时减小每个子控件的大小集装箱。调整儿童大小的WPF容器
因此,假设这个控件将有一些像子控件一样的图块,假设在一个点上我的容器有4个图块 - 16X16填充整个控件。当我添加下一行瓷砖时,我希望现有的4个瓷砖缩小到12X12,我不希望容器的大小适应,因为我从不希望到达用户滚动的位置穿过集装箱。
如果有人有任何想法,请让我知道...?
我想不出有什么办法可以使用库存面板,但编写自己的面板来安排最佳网格尺寸会非常简单。也许你可以子类UniformGrid
设置行/列为一个适当的值,当一个孩子被添加。
一旦你有了,你可以将整个东西都粘在ViewBox
上来自动缩放。
这样的事情可能会工作
<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>