diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/Editors/TimeSpanEditor.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/Editors/TimeSpanEditor.cs new file mode 100644 index 00000000..6771461b --- /dev/null +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/Editors/TimeSpanEditor.cs @@ -0,0 +1,32 @@ +using System; +using System.Windows.Data; +using System.Globalization; + +namespace Microsoft.Windows.Controls.PropertyGrid.Editors +{ + public class TimeSpanEditor : DateTimeUpDownEditor + { + private sealed class TimeSpanConverter : IValueConverter + { + object IValueConverter.Convert(object value, Type targetType, object parameter, CultureInfo culture) + { + return DateTime.Today + (TimeSpan)value; + } + + object IValueConverter.ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) + { + return ((DateTime)value).TimeOfDay; + } + } + + protected override void SetControlProperties() + { + Editor.Format = DateTimeFormat.LongTime; + } + + protected override IValueConverter CreateValueConverter() + { + return new TimeSpanConverter(); + } + } +} diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs index 636d721a..4a12cedf 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs @@ -466,6 +466,8 @@ namespace Microsoft.Windows.Controls.PropertyGrid editor = new ColorEditor(); else if (propertyItem.PropertyType.IsEnum) editor = new EnumComboBoxEditor(); + else if (propertyItem.PropertyType == typeof(TimeSpan)) + editor = new TimeSpanEditor(); else if (propertyItem.PropertyType == typeof(FontFamily) || propertyItem.PropertyType == typeof(FontWeight) || propertyItem.PropertyType == typeof(FontStyle) || propertyItem.PropertyType == typeof(FontStretch)) editor = new FontComboBoxEditor(); else if (propertyItem.PropertyType.IsGenericType) diff --git a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/WPFToolkit.Extended.csproj b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/WPFToolkit.Extended.csproj index cdb27ccd..7191d9fe 100644 --- a/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/WPFToolkit.Extended.csproj +++ b/ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/WPFToolkit.Extended.csproj @@ -256,6 +256,7 @@ +