我想知道如何CollectionViewSource
使用 ComboBox 更新 a 上的过滤器。我有以下代码:
<CollectionViewSource x:Key="cvsCars"
Source="{Binding Source={StaticResource odpCars}}">
<ComboBox Name="cbxMake" Margin="5" IsEnabled="False" />
我确定我需要 ComboBox 的某种SelectionChanged
事件,但我想不出一种方法让它与这段代码一起工作。
private void MakeFilterOn(object sender, RoutedEventArgs e)
{
cbxMake.IsEnabled = true;
cvsCars.Filter += new FilterEventHandler(cvsCars_Filter);
}
void cvsCars_Filter(object sender, FilterEventArgs e)
{
Car car = e.Item as Car;
if (car != null)
{
if (car.Maker.ToString() == cbxMake.SelectedItem.ToString())
{
e.Accepted = true;
}
else
{
e.Accepted = false;
}
}
}
任何意见是极大的赞赏。
由CollectionViewSource
填充ObjectDataProvider
。更新将应用于 ListBox。MakeFilterOn 是一个复选框。