あなたは列の固定数を持っているのでItemPanel
項目をレイアウトするために使用されるように、あなたがUniformGrid
を使用してItemsControl
かListBox
を使用することができます
サンプルXAMLテンプレート
<ListBox VerticalContentAlignment="Center" HorizontalContentAlignment="Center" ItemsSource="{Binding MyElementsLoadedFromXml}">
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock FontSize="26" VerticalAlignment="Center" HorizontalAlignment="Center" Text="{Binding AFieldInMyXmlElement}" />
</DataTemplate>
</ListBox.ItemTemplate>
<ListBox.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="3" IsItemsHost="True" />
</ItemsPanelTemplate>
</ListBox.ItemsPanel>
</ListBox>
それは次のようになります。デフォルト:
IsItemsHost="True"
はスクロールビューアを使用しない場合はオプションですが、このユースケースで使用することが意図されているため、ここで使用する方が良いと思います。
編集:コンボボックスについては忘れていましたが、お互いに、ComboBoxでListBoxを置き換えた場合、私はあなたが期待している結果が得られます:
出典
2017-07-21 08:55:16
Uwy
偉大な答え、非常に有用! :)また、私の例では、ListBoxに切り替える方が良いことがわかります。新しいBeeingは私がそれをそのように見せることができることを知らなかった。ありがとう – marekxy