void Node_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (e.PropertyName == "IsEditing") { OnIsEditingChanged(); } else if (e.PropertyName == "IsLast") { if (ParentTreeView.ShowLines) { foreach (var child in Node.VisibleDescendantsAndSelf()) { var container = ParentTreeView.ItemContainerGenerator.ContainerFromItem(child) as SharpTreeViewItem; if (container != null) { container.NodeView.LinesRenderer.InvalidateVisual(); } } } } else if (e.PropertyName == "IsExpanded") { if (Node.IsExpanded) { ParentTreeView.HandleExpanding(Node); } else { ParentTreeView.HandleCollapsing(Node); } } }
void Node_Collapsing(object sender, EventArgs e) { ParentTreeView.HandleCollapsing(Node); }