protected virtual void OnPropertyCollapsed(PositionedNodeProperty property) { if (this.PropertyCollapsed != null) { this.PropertyCollapsed(this, new PositionedPropertyEventArgs(property)); } }
void PropertyExpandButton_Click(object sender, RoutedEventArgs e) { var clickedButton = (ToggleButton)e.Source; if (clickedButton.DataContext == null) { return; } ContentPropertyNode clickedNode = clickedButton.DataContext as ContentPropertyNode; clickedNode = clickedButton.DataContext as ContentPropertyNode; if (clickedNode == null) { throw new InvalidOperationException("Clicked property expand button, button shouln't be there - DataContext is not ContentPropertyNode."); } PositionedNodeProperty property = clickedNode.Property; clickedButton.Content = property.IsPropertyExpanded ? "-" : "+"; // could be done with a converter if (property.IsPropertyExpanded) { OnPropertyExpanded(property); } else { OnPropertyCollapsed(property); } }
private void PropertyExpandButton_Click(object sender, RoutedEventArgs e) { var clickedButton = (ToggleButton)e.Source; ContentPropertyNode clickedNode = null; try { clickedNode = (ContentPropertyNode)(clickedButton).DataContext; } catch (InvalidCastException) { throw new InvalidOperationException("Clicked property expand button, button shouln't be there - DataContext is not PropertyNodeViewModel."); } PositionedNodeProperty property = clickedNode.Property; //property.IsPropertyExpanded = !property.IsPropertyExpanded; // done by databinding clickedButton.Content = property.IsPropertyExpanded ? "-" : "+"; if (property.IsPropertyExpanded) { OnPropertyExpanded(property); } else { OnPropertyCollapsed(property); } }