次のように一般化できる WPF の問題に取り組んでいます。
2 つの ListView を持つ
<ListView x:Name="listView1"></ListView> <ListView x:Name="listView2"></ListView>
コードビハインドでは、それらのフィルターが作成されます。
var listViewCollection1 = (ListCollectionView)CollectionViewSource.GetDefaultView(Items); listViewCollection1.Filter = item => (item as string).Length == 5; listView1.ItemsSource = listViewCollection1; var listViewCollection2 = (ListCollectionView)CollectionViewSource.GetDefaultView(Items); listViewCollection2.Filter = item => (item as string).Length == 3; listView2.ItemsSource = listViewCollection2; public ObservableCollection<string> items = new ObservableCollection<string>() { "John", "Jan", "Lanny", "Carol", "Hug", }; public ObservableCollection<string> Items { get { return items; } private set { items = value; } }
2 番目のフィルターは最初のフィルターをオーバーライドし、次の項目が両方の listView に表示されます。
- 1月
- 抱擁
誰が私に教えてくれますか、何が問題なのですか? 2 つの異なるフィルターを持つ 1 つのデータ ソースにバインドされた 2 つの listView を適切にインスタンス化するにはどうすればよいですか?
助けていただければ幸いです。