Мой вопрос может быть повторением другого вопроса о конверсии, но я чувствую, что у меня все по-другому.
Здесь идет ... [упрощенный пример].
public class DataWrapper<T>
{
public T DataValue{ get; set; }
public DataWrapper(T value)
{
DataValue = value;
}
public static explicit operator DataWrapper<T> (T value)
{
return new DataWrapper<T>(value);
}
public static implicit operator T(DataWrapper<T> data)
{
return data.DataValue;
}
}
Теперь в моей ViewModel:
public class ViewModel
{
public DataWrapper<string> FirstName { get;set; }
public DataWrapper<string> LastName { get; set; }
}
И в XAML:
<TextBlock Text="{Binding FirstName}" />
<TextBlock Text="{Binding LastName}" />
У меня вопрос, это будет работать? Будет ли привязка WPF вызывать конвертер Implicit
и Explicit
в моем классе DataWrapper<T>
вместо необходимости реализации IValueConverter
для каждого TextBlock
.