2012-05-31 120 views
1

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

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

如果有人有任何想法,请让我知道...?

回答

1

我想不出有什么办法可以使用库存面板,但编写自己的面板来安排最佳网格尺寸会非常简单。也许你可以子类UniformGrid设置行/列为一个适当的值,当一个孩子被添加。

一旦你有了,你可以将整个东西都粘在ViewBox上来自动缩放。

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> 
相关问题