Browse Source

PropertyGrid: fixed UIElement object's name binding.

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
6017e79d6b
  1. 18
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs

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

@ -86,10 +86,9 @@ namespace Microsoft.Windows.Controls.PropertyGrid
protected virtual void OnSelectedObjectChanged(object oldValue, object newValue) protected virtual void OnSelectedObjectChanged(object oldValue, object newValue)
{ {
SelectedObjectType = newValue.GetType(); SetSelectedObjectNameBinding(newValue);
if (newValue is FrameworkElement) SelectedObjectType = newValue.GetType();
SelectedObjectName = (newValue as FrameworkElement).Name;
_propertyItemsCache = GetObjectProperties(newValue); _propertyItemsCache = GetObjectProperties(newValue);
@ -166,7 +165,7 @@ namespace Microsoft.Windows.Controls.PropertyGrid
if (newValue != null) if (newValue != null)
newValue.IsSelected = true; newValue.IsSelected = true;
} }
#endregion //SelectedProperty #endregion //SelectedProperty
@ -305,6 +304,17 @@ namespace Microsoft.Windows.Controls.PropertyGrid
return propertyCollection; return propertyCollection;
} }
private void SetSelectedObjectNameBinding(object selectedObject)
{
if (selectedObject is FrameworkElement)
{
var binding = new Binding("Name");
binding.Source = selectedObject;
binding.Mode = BindingMode.OneWay;
BindingOperations.SetBinding(this, PropertyGrid.SelectedObjectNameProperty, binding);
}
}
#endregion //Methods #endregion //Methods
} }
} }

Loading…
Cancel
Save