概要
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:
コメント