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)
{
SelectedObjectType = newValue.GetType();
SetSelectedObjectNameBinding(newValue);
if (newValue is FrameworkElement)
SelectedObjectName = (newValue as FrameworkElement).Name;
SelectedObjectType = newValue.GetType();
_propertyItemsCache = GetObjectProperties(newValue);
@ -166,7 +165,7 @@ namespace Microsoft.Windows.Controls.PropertyGrid
if (newValue != null)
newValue.IsSelected = true;
}
}
#endregion //SelectedProperty
@ -305,6 +304,17 @@ namespace Microsoft.Windows.Controls.PropertyGrid
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
}
}

Loading…
Cancel
Save