以下是我的情况:
存在一个ObservableCollection,窗口中的一系列列表框显示了它们的绑定数据。
public Records myRecents;
//...
this.lbToday.ItemsSource = myRecents;
this.lbYesterday.ItemsSource = myRecents;
this.lbBefore2Days.ItemsSource = myRecents;
this.lbLast7Days.ItemsSource = myRecents;
this.lbLast30Days.ItemsSource = myRecents;
现在,我想将每个列表框应用于不同的过滤视图。
this.lbToday.Items.Filter = delegate(object item)
{
return ((RecordItem)item).IsToday();
};
问题是,过滤器应用了所有使用相同itemsource的列表框。(在这种情况下, 'myRecents')
如何在每个列表框中应用不同的过滤器?
答案 0 :(得分:2)
为每个ListBox提供不同的ListCollectionViews
this.lbToday.ItemsSource = new ListCollectionView(myRecents);
this.lbYesterday.ItemsSource = new ListCollectionView(myRecents);
this.lbBefore2Days.ItemsSource = new ListCollectionView(myRecents);
this.lbLast7Days.ItemsSource = new ListCollectionView(myRecents);
this.lbLast30Days.ItemsSource = new ListCollectionView(myRecents);