This one is a follow-up question.
I filter the top level nodes of a TreeView
control like shown below.
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>
When the user applies the filter all nodes get collapsed.
Question
How can I hide certain nodes in a tree while retaining the expand state of the other nodes?
Can someone explain, what happens internally on ICollectionView.Filter += MyFilter
.
Thanks for your time.