2009-08-09 10 views
1

Une autre question liée à this one. J'ai un List<SortableObjects> qui est le DataContext de ma MainWindow. J'utilise cette liste pour remplir un ListBox et un ComboBox. Quand je trier les articles, les ComboBox et les ListView sont mis à jour correctement. Mais maintenant, j'ai besoin que le ComboBox soit trié différemment du ListView. I. E. Si l'objet était une personne, dans le ComboBox, je devrais les trier par LastName, mais dans le ListView, par anniversaire. Comment puis-je atteindre cet objectif?Tri dans la fenêtre datacontext dans WPF

Merci!

Répondre

2

Utilisez CollectionViewSource s pour chacun des ordonnancements séparés que vous voulez:

<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}}"/> 
+0

A travaillé parfaitement. Je vous remercie. – Carlo

Questions connexes