Browse Source

PropertyGrid: added PropertyValueChanged event

pull/1645/head
brianlagunas_cp 14 years ago
parent
commit
dc82c618c5
  1. 27
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs
  2. 9
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs

27
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs

@ -495,5 +495,32 @@ namespace Microsoft.Windows.Controls.PropertyGrid
}
#endregion //Methods
#region Events
public static readonly RoutedEvent PropertyValueChangedEvent = EventManager.RegisterRoutedEvent("PropertyValueChanged", RoutingStrategy.Bubble, typeof(PropertyValueChangedEventHandler), typeof(PropertyGrid));
public event PropertyValueChangedEventHandler PropertyValueChanged
{
add { AddHandler(PropertyValueChangedEvent, value); }
remove { RemoveHandler(PropertyValueChangedEvent, value); }
}
//TODO: add SelectedPropertyItemChanged event
#endregion
}
public delegate void PropertyValueChangedEventHandler(object sender, PropertyValueChangedEventArgs e);
public class PropertyValueChangedEventArgs : RoutedEventArgs
{
public object NewValue { get; set; }
public object OldValue { get; set; }
public PropertyValueChangedEventArgs(RoutedEvent routedEvent, object source, object oldValue, object newValue)
: base(routedEvent, source)
{
NewValue = newValue;
OldValue = oldValue;
}
}
}

9
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs

@ -285,7 +285,8 @@ namespace Microsoft.Windows.Controls.PropertyGrid
protected virtual void OnValueChanged(object oldValue, object newValue)
{
// TODO: Add your property changed side-effects. Descendants can override as well.
if (IsInitialized)
RaiseEvent(new PropertyValueChangedEventArgs(PropertyGrid.PropertyValueChangedEvent, this, oldValue, newValue));
}
#endregion //Value
@ -335,6 +336,12 @@ namespace Microsoft.Windows.Controls.PropertyGrid
#endregion //Constructors
#region Events
public static readonly RoutedEvent PropertyValueChangedEvent = PropertyGrid.PropertyValueChangedEvent.AddOwner(typeof(PropertyItem));
#endregion //Events
#region Event Handlers
void PropertyItem_PreviewMouseDown(object sender, MouseButtonEventArgs e)

Loading…
Cancel
Save