diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs index b9239c63..9e99054e 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs @@ -280,8 +280,10 @@ namespace Microsoft.Windows.Controls.PropertyGrid if (oldValue != null) oldValue.IsSelected = false; - if (newValue != null) - newValue.IsSelected = true; + //if (newValue != null) + // newValue.IsSelected = true; + + RaiseEvent(new RoutedEventArgs(PropertyGrid.SelectedPropertyItemChangedEvent, newValue)); } #endregion //SelectedProperty @@ -504,10 +506,15 @@ namespace Microsoft.Windows.Controls.PropertyGrid add { AddHandler(PropertyValueChangedEvent, value); } remove { RemoveHandler(PropertyValueChangedEvent, value); } } + + public static readonly RoutedEvent SelectedPropertyItemChangedEvent = EventManager.RegisterRoutedEvent("SelectedPropertyItemChanged", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(PropertyGrid)); + public event RoutedEventHandler SelectedPropertyItemChanged + { + add { AddHandler(SelectedPropertyItemChangedEvent, value); } + remove { RemoveHandler(SelectedPropertyItemChangedEvent, value); } + } - //TODO: add SelectedPropertyItemChanged event - - #endregion + #endregion //Events } public delegate void PropertyValueChangedEventHandler(object sender, PropertyValueChangedEventArgs e); diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs index d3bd02a0..4faffb10 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs @@ -207,7 +207,7 @@ namespace Microsoft.Windows.Controls.PropertyGrid protected virtual void OnIsSelectedChanged(bool oldValue, bool newValue) { if (newValue) - PropertyGrid.SelectedProperty = this; + PropertyGrid.SelectedProperty = this; } #endregion //IsSelected @@ -286,7 +286,9 @@ namespace Microsoft.Windows.Controls.PropertyGrid protected virtual void OnValueChanged(object oldValue, object newValue) { if (IsInitialized) - RaiseEvent(new PropertyValueChangedEventArgs(PropertyGrid.PropertyValueChangedEvent, this, oldValue, newValue)); + { + PropertyGrid.RaiseEvent(new PropertyValueChangedEventArgs(PropertyGrid.PropertyValueChangedEvent, this, oldValue, newValue)); + } } #endregion //Value @@ -336,12 +338,6 @@ 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)