与this one有关的另一个问题。
我的List<SortableObjects>
是我的MainWindow的DataContext
。我使用该列表填充ListBox
和ComboBox
。当我对项目进行排序时,ComboBox
和ListView
都会更新。但现在我需要以ComboBox
以不同的方式对ListView
进行排序。 I. E.如果对象是人,在ComboBox
,我需要按LastName排序,但在ListView
生日。我怎样才能做到这一点?
谢谢!
答案 0 :(得分:2)
对所需的每个单独订单使用CollectionViewSource
:
<UserControl.Resources>
<CollectionViewSource x:Key="ComboBoxSource" Source="{Binding YourUnderlyingCollection}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="SomeProperty"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
<CollectionViewSource x:Key="ListBoxSource" Source="{Binding YourUnderlyingCollection}">
<CollectionViewSource.SortDescriptions>
<scm:SortDescription PropertyName="SomeOtherProperty"/>
</CollectionViewSource.SortDescriptions>
</CollectionViewSource>
</UserControl.Resources>
<ComboBox ItemsSource="{Binding Source={StaticResource ComboBoxSource}}"/>
<ListBox ItemsSource="{Binding Source={StaticResource ListBoxSource}}"/>