调整子项大小的 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>

相关内容

  • 没有找到相关文章

最新更新