using System; using System.Globalization; using System.Windows.Data; using System.Windows.Markup; namespace ZeroLevel.WPF { public abstract class BaseConvertor : MarkupExtension, IValueConverter where T : class, new() { /// /// Must be implemented in inheritor. /// public abstract object Convert(object value, Type targetType, object parameter, CultureInfo culture); /// /// Override if needed. /// public virtual object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) { throw new NotImplementedException(); } #region MarkupExtension members public override object ProvideValue(IServiceProvider serviceProvider) { return this; } #endregion } }