From cea282dcfdae216b1fd01d959fc457c834ebe670 Mon Sep 17 00:00:00 2001 From: brianlagunas_cp Date: Fri, 15 Jul 2011 21:07:51 +0000 Subject: [PATCH] PropertyGrid: added support for the DisplayNameAttribute --- .../PropertyGrid/Implementation/PropertyGrid.cs | 3 ++- .../PropertyGrid/Implementation/PropertyItem.cs | 12 ++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs index 4e4611f1..8b48a191 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs @@ -162,7 +162,8 @@ namespace Microsoft.Windows.Controls.PropertyGrid protected virtual void OnSelectedObjectTypeChanged(Type oldValue, Type newValue) { - SelectedObjectTypeName = newValue.Name; + DisplayNameAttribute displayNameAttribute = newValue.GetCustomAttributes(false).OfType().FirstOrDefault(); + SelectedObjectTypeName = displayNameAttribute == null ? newValue.Name : displayNameAttribute.DisplayName; } #endregion //SelectedObjectType diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs index fa3f2be7..68be59fb 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyItem.cs @@ -34,6 +34,17 @@ namespace Microsoft.Windows.Controls.PropertyGrid public string Description { get { return PropertyDescriptor.Description; } } + #region DisplayName + + public static readonly DependencyProperty DisplayNameProperty = DependencyProperty.Register("DisplayName", typeof(string), typeof(PropertyItem), new UIPropertyMetadata(null)); + public string DisplayName + { + get { return (string)GetValue(DisplayNameProperty); } + set { SetValue(DisplayNameProperty, value); } + } + + #endregion //DisplayName + #region Editor public static readonly DependencyProperty EditorProperty = DependencyProperty.Register("Editor", typeof(FrameworkElement), typeof(PropertyItem), new UIPropertyMetadata(null)); @@ -137,6 +148,7 @@ namespace Microsoft.Windows.Controls.PropertyGrid { _propertyDescriptor = value; Name = _propertyDescriptor.Name; + DisplayName = _propertyDescriptor.DisplayName; Category = _propertyDescriptor.Category; _dpDescriptor = DependencyPropertyDescriptor.FromProperty(_propertyDescriptor); }