/// <summary> /// Retrieved a <see cref="DataTemplate"/> instance for the specified <see cref="IPropertyGridItem"/>. /// </summary> /// <param name="item">The <see cref="IPropertyGridItem"/>.</param> /// <returns>A <see cref="DataTemplate"/> instace for the specified <see cref="IPropertyGridItem"/>.</returns> protected virtual DataTemplate SelectTemplate(IPropertyGridItem item) { if (item == null) { return null; } var propertyType = item.GetType().GetGenericArguments()[0]; if (propertyType.IsEnum) { return (DataTemplate)_contentPresenter.Resources["EnumPropertyDataTemplate"]; } if (propertyType == typeof(DateTime)) { return (DataTemplate)_contentPresenter.Resources["DateTimePropertyDataTemplate"]; } if (propertyType == typeof(bool)) { return (DataTemplate)_contentPresenter.Resources["BoolPropertyDataTemplate"]; } if (propertyType.IsPrimitive || propertyType == typeof(string)) { return (DataTemplate)_contentPresenter.Resources["PrimitivePropertyDataTemplate"]; } return (DataTemplate)_contentPresenter.Resources["ObjectPropertyDataTemplate"]; }
/// <summary> /// Retrieved a <see cref="DataTemplate"/> instance for the specified <see cref="IPropertyGridItem"/>. /// </summary> /// <param name="item">The <see cref="IPropertyGridItem"/>.</param> /// <returns>A <see cref="DataTemplate"/> instace for the specified <see cref="IPropertyGridItem"/>.</returns> protected virtual DataTemplate SelectTemplate(IPropertyGridItem item) { if (item == null) { return(null); } var propertyType = item.GetType().GetGenericArguments()[0]; if (propertyType.IsEnum) { return((DataTemplate)_contentPresenter.Resources["EnumPropertyDataTemplate"]); } if (propertyType == typeof(DateTime)) { return((DataTemplate)_contentPresenter.Resources["DateTimePropertyDataTemplate"]); } if (propertyType == typeof(bool)) { return((DataTemplate)_contentPresenter.Resources["BoolPropertyDataTemplate"]); } if (propertyType.IsPrimitive || propertyType == typeof(string)) { return((DataTemplate)_contentPresenter.Resources["PrimitivePropertyDataTemplate"]); } return((DataTemplate)_contentPresenter.Resources["ObjectPropertyDataTemplate"]); }