我想对ListBox
应用过滤器,因此CheckBox
的IsSelected
属性相应。WPF:在布尔属性上绑定/应用过滤器
此刻我有这样的事情。
XAML
<CheckBox Name="_filterCheckBox" Content="Filter list" Checked="ApplyFilterHandler"/>
<ListBox ItemsSource="{Binding SomeItems}" />
代码隐藏
public ObservableCollection<string> SomeItems { get; private set; }
private void ApplyFilterHandler(object sender, RoutedEventArgs e)
{
if (_filterCheckBox.IsChecked.Value)
CollectionViewSource.GetDefaultView(SomeItems).Filter += MyFilter;
else
CollectionViewSource.GetDefaultView(SomeItems).Filter -= MyFilter;
}
private bool MyFilter(object obj)
{
return ...
}
它的工作原理,但这种解决方案感觉就像老式的方法(Windows窗体)。
问题:
是否有可能用Bindings /在XAML中实现这一点?
谢谢你的时间。