1

固定サイズでレイアウトしたときに子コントロールのサイズを適切に変更できる WPF コンテナー コントロールを見つける必要があります。これにより、新しい項目がコンテナーに作成/追加されると、各子コントロールのサイズが縮小されます。

したがって、このコントロールには子コントロールのようなタイルがあると仮定し、ある時点でコンテナに 4 つのタイル (コントロール全体を埋める 16X16) があると仮定します。タイルの次の行を追加するとき、既存の 4 つのタイルを縮小して 12X12 にします。ユーザーがスクロールしているポイントに到達したくないので、コンテナーのサイズを収容したくありません。コンテナを横切って。

誰かアイデアがあれば教えてください...?

4

2 に答える 2

1

ストックパネルでそれを行う方法は考えられませんが、最適なグリッドサイズに配置するために独自のパネルを作成するのは非常に簡単です。UniformGrid子が追加されたときに、サブクラス化して行/列を適切な値に設定できるかもしれません。

それができたら、すべてをaに貼り付けて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 に答える