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);
         }
     }
 }