Этот вопрос является последующим вопросом.
Я фильтрую узлы верхнего уровня элемента управления TreeView
, как показано ниже.
private void ApplyFilterHandler(object sender, RoutedEventArgs e)
{
if (_filterCheckBox.IsChecked.Value)
CollectionViewSource.GetDefaultView(TopLevelNodes).Filter += MyFilter;
else
CollectionViewSource.GetDefaultView(TopLevelNodes).Filter -= MyFilter;
}
.
<TreeView ItemsSource="{Binding TopLevelNodes}">
...
</TreeView>
Когда пользователь применяет фильтр, все узлы сворачиваются.
Вопрос
Как я могу скрыть определенные узлы в дереве, сохраняя при этом состояние раскрытия других узлов?
Может кто-нибудь объяснить, что происходит внутри ICollectionView.Filter += MyFilter
.
Спасибо за ваше время.