/// <summary> /// React to property changes and invoke PropertyChange event to listeners /// </summary> /// <param name="property">The property that changed</param> protected virtual void OnPropertyChange(PSPanelGroupProperties property) { switch(property) { case PSPanelGroupProperties.BorderMarginProperty: case PSPanelGroupProperties.PanelSpacingProperty: // force the position of panels to be reevaluated UpdatePanels() ; break ; case PSPanelGroupProperties.PanelGradientProperty: break ; } if (propertyChangeListeners != null) { propertyChangeListeners(this,new PropertyChangeEventArgs(property)) ; } Invalidate() ; }
/// <summary> /// Create a <c>PropertyChangeEventArgs</c> /// </summary> /// <param name="property">The enumeration for the property that changed</param> public PropertyChangeEventArgs(PSPanelGroupProperties property) { this.property = property ; }