CollectionViewSource
ComboBox でフィルターを更新する方法を考えていました。次のコードがあります。
<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 は CheckBox です。