private TimeSpan _timeSpan; [Editor(typeof(MyCustomEditor), typeof(MyCustomEditor))] public TimeSpan TimeSpan { get { return _timeSpan; } set { _timeSpan = value; } } public class MyCustomEditor : ITypeEditor { public FrameworkElement ResolveEditor(PropertyItem propertyItem) { TextBox editor = new TextBox(); Binding binding = new Binding("Value"); //bind to the Value property of the PropertyItem instance binding.Source = propertyItem; binding.Mode = propertyItem.IsWriteable ? BindingMode.TwoWay : BindingMode.OneWay; BindingOperations.SetBinding(editor, TextBox.TextProperty, binding); return editor; } }