Wpf 切换按钮时筛选可观察到的采集
目前,我有一个Wpf 切换按钮时筛选可观察到的采集,wpf,observablecollection,Wpf,Observablecollection,目前,我有一个observedcollection CarList、一个WrapPanel和一个切换按钮。WrapPanel包含一些CarInfo用户控件,每个CarInfo都指向CarList中的汽车 基本上,当一辆新的汽车添加到CarList时,一个新的CarInfo控件应该添加到WrapPanel。单击切换按钮时,WrapPanel应仅显示CarInfo,其中Car.Speed>70 我现在订阅CarList.CollectionChanged以更新WrapPanel,并使用ICollec
observedcollection CarList
、一个WrapPanel
和一个切换按钮
。WrapPanel
包含一些CarInfo
用户控件,每个CarInfo
都指向CarList
中的汽车
基本上,当一辆新的汽车
添加到CarList
时,一个新的CarInfo
控件应该添加到WrapPanel
。单击切换按钮时,WrapPanel
应仅显示CarInfo
,其中Car.Speed>70
我现在订阅CarList.CollectionChanged
以更新WrapPanel
,并使用ICollectionView
进行过滤
我的问题是:如何触发ToggleButton
click上的过滤
我是WPF的新手,所以非常感谢一些示例代码!多谢各位 您应该将WrapPanel的ItemsSource绑定到car集合,而不是手动更新它
要切换筛选器,请将此事件处理程序添加到切换按钮:
private void toggleFilter_Checked(object sender, RoutedEventArgs e)
{
ICollectionView view = CollectionViewSource.GetDefaultView(CarList);
if (toggleFilter.IsChecked == true)
view.Filter = car => ((Car)car).Speed > 70;
else
view.Filter = null;
}
这并不能直接解决我的问题,但给了我解决原始问题的有用见解。谢谢:D