我想ListBox
根据 a 的IsSelected
属性将过滤器应用于 a CheckBox
。
目前我有这样的事情。
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 窗体)。
问题:
是否可以使用 XAML 中的 Bindings / 来实现这一点?
谢谢你的时间。