diff --git a/SharpTreeView/SharpTreeView.cs b/SharpTreeView/SharpTreeView.cs index 74467feba..dc230faed 100644 --- a/SharpTreeView/SharpTreeView.cs +++ b/SharpTreeView/SharpTreeView.cs @@ -135,11 +135,11 @@ namespace ICSharpCode.TreeView this.ItemsSource = flattener; } } - + void flattener_CollectionChanged(object sender, NotifyCollectionChangedEventArgs e) { - // Deselect nodes that are being hidden - if (e.Action == NotifyCollectionChangedAction.Remove) { + // Deselect nodes that are being hidden, if any remain in the tree + if (e.Action == NotifyCollectionChangedAction.Remove && Items.Count > 0) { List selectedOldItems = null; foreach (SharpTreeNode node in e.OldItems) { if (node.IsSelected) {