概要
WPFのComboBoxは、複数の選択肢から1つを選ぶ際に便利なコントロールですが、アイテムが増えるとソートすることが重要になります。この記事では、WPF ComboBoxのアイテムをソートする方法を解説します。初心者向けにわかりやすく説明するので、ぜひ参考にしてください。
構文
ComboBoxのアイテムをソートするには、CollectionViewSourceを使用します。以下のような構文を使います。
<ComboBox>
<ComboBox.ItemsSource>
<Binding>
<Binding.Source>
<CollectionViewSource Source="{Binding SourceList}" >
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="PropertyName" Direction="Ascending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Binding.Source>
</Binding>
</ComboBox.ItemsSource>
</ComboBox>
SourceList: ソートするアイテムが含まれるコレクションを指定します。
PropertyName: ソートする際のプロパティ名を指定します。例えば、アイテムが文字列の場合は”Text”などが指定されます。アプリケーションに応じて適切なプロパティ名を指定してください。
Direction: ソートの向きを指定します。Ascending(昇順)またはDescending(降順)を選択できます。
使用例
以下の例では、ComboBoxのアイテムを昇順でソートする方法を示します。
<Window.Resources>
<CollectionViewSource x:Key="SortedItems" Source="{Binding Items}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="Name" Direction="Ascending"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</Window.Resources>
<Grid>
<ComboBox ItemsSource="{Binding Source={StaticResource SortedItems}}"
DisplayMemberPath="Name" />
</Grid>
上記の例では、ItemsというコレクションをComboBoxのアイテムとしてバインドしています。このコレクションのアイテムはNameプロパティで昇順にソートされて表示されます。
Please follow and like us:

コメント