/************************************************************************************* Extended WPF Toolkit Copyright (C) 2007-2013 Xceed Software Inc. This program is provided to you under the terms of the Microsoft Public License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license For more features, controls, and fast professional support, pick up the Plus Edition at http://xceed.com/wpf_toolkit Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids ***********************************************************************************/ using System; using System.Globalization; using System.Windows.Data; namespace Xceed.Wpf.Toolkit.PropertyGrid.Converters { /// /// Converts a TimeSpan value to a DateTime value. /// /// This converter can be used in conjunction with a TimePicker in order /// to create a TimeSpan edit control. /// public sealed class EditorTimeSpanConverter : IValueConverter { public bool AllowNulls { get; set; } object IValueConverter.Convert( object value, Type targetType, object parameter, CultureInfo culture ) { if( this.AllowNulls && value == null ) return null; TimeSpan timeSpan = ( value != null ) ? ( TimeSpan )value : TimeSpan.Zero; return DateTime.Today + timeSpan; } object IValueConverter.ConvertBack( object value, Type targetType, object parameter, CultureInfo culture ) { if( this.AllowNulls && value == null ) return null; return ( value != null ) ? ( ( DateTime )value ).TimeOfDay : TimeSpan.Zero; } } }