4

を表示する WPF ウィンドウがありますListBoxListBoxの項目テンプレートを変更して、リスト ボックスに選択可能な長方形の項目が表示されるようにしました。

ここで、アイテムが縦または横のリストではなく、グリッドに表示されるListBoxように を変更したいと思います。具体的には、次のアイテムの高さがアイテムの列をそれ自体の高さよりも高くするまでItemsPanelTemplate、最初のアイテムを右上隅に配置し、次にその下に 2 番目のアイテムを配置し、その下に 3 番目のアイテムを配置したいと考えています。その時点で、追加された最初の項目のすぐ右にある 2 番目の列を開始する必要があります。結合されたすべての列の合計幅が の幅よりも大きい場合、水平スクロール バーが表示されます。ListBoxListBoxListBox

を変更するだけでその効果を得る方法はありますか、それともクラス自体ItemsPanelTemplateを拡張する必要がありますか? ListBoxいずれにせよ、どうやってそれを手に入れたのでしょうか?

ご協力いただきありがとうございます!

4

1 に答える 1

4

私はこれをテストしていませんが、 で使用されるデフォルトのパネルを次のように交換することで、目的の効果が得られると思われListBoxますWrapPanel

<ListBox>
    <ListBox.ItemsPanel>
        <ItemsPanelTemplate>
            <WrapPanel Orientation="Vertical"/>
        </ItemsPanelTemplate>
    </ListBox.ItemsPanel>
</ListBox>
于 2009-10-09T20:15:02.890 に答える