Browse Source

PropertyGrid: added TimeSpan editor

pull/1645/head
brianlagunas_cp 15 years ago
parent
commit
3fbc48411a
  1. 32
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/Editors/TimeSpanEditor.cs
  2. 2
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/PropertyGrid/Implementation/PropertyGrid.cs
  3. 1
      ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/WPFToolkit.Extended.csproj

32
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();
}
}
}

2
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)

1
ExtendedWPFToolkitSolution/Src/WPFToolkit.Extended/WPFToolkit.Extended.csproj

@ -256,6 +256,7 @@
<Compile Include="PropertyGrid\Implementation\Editors\DoubleUpDownEditor.cs" />
<Compile Include="PropertyGrid\Implementation\Editors\EnumComboBoxEditor.cs" />
<Compile Include="PropertyGrid\Implementation\Editors\FontComboBoxEditor.cs" />
<Compile Include="PropertyGrid\Implementation\Editors\TimeSpanEditor.cs" />
<Compile Include="PropertyGrid\Implementation\IEditorDefinition.cs" />
<Compile Include="PropertyGrid\Implementation\Editors\IntegerUpDownEditor.cs" />
<Compile Include="PropertyGrid\Implementation\Editors\ITypeEditor.cs" />

Loading…
Cancel
Save