Почему у нас есть как TypeConverters, так и IValueConverter в WPF?

#wpf #ivalueconverter #typeconverter

#wpf #ivalueconverter #typeconverter

Вопрос:

Я новичок в WPF. Я просто не понимаю, зачем нужны TypeConverters и IValueConverter в WPF. Назначение обоих объектов — преобразовать значение в определенный тип; но почему оба?

Заранее спасибо.

Комментарии:

1. Это был хороший вопрос, на который, по-видимому, на самом деле не было ответа. Преобразователь типов, по-видимому, является более сложным типом (не только двумя методами), на который может ссылаться атрибут , чтобы автоматически проверять, возможно ли какое-либо преобразование при присвоении свойства. Просто предположение. Кажется, это скорее строительный блок типа.

Ответ №1:

IValueConverter используется только в сценариях привязки данных. Это позволяет вам форматировать значения перед их отображением в пользовательском интерфейсе или анализировать значения из элементов управления пользовательского интерфейса, чтобы их можно было сохранить в источнике привязки. примером может быть преобразование флага IsDirty в «*» в пользовательском интерфейсе или экземпляра Color в экземпляр Brush. исходя из моего собственного опыта, я использовал IValueConverter только для целей форматирования (то есть, только для реализации метода Convert).

Производный класс TypeConverter в основном используется для преобразования в / из строковых значений. это можно использовать для установки свойства пользовательского типа в XAML.