Pull to refresh

Comments 6

Мне привычнее смотреть на конвертеры с т.з. теории категорий.
необходим id-конвертер без преобразований, и конвертер, соединяющий два других.
ComposeConverter c = new ComposeConverter(new BtoC(), new AtoB());

В точности, как операция композиции функций в фп языках.
Можно создать конвертер, объединяющий другие в цепочку, а можно добавить этот механизм к механизму markup extension и тогда цепочку можно записывать в строку, а не иерархически, что иногда более понятно.
А ещё нужно обратное конвертирование поддерживать в базисном классе.
Да, в проекте по ссылке лежит весь код, там реализовано обратное конвертирование по тому-же принципе.

Через Markup Extension много всего можно сделать, вплоть до своего механизма связывания данных
Сама идея очень неплохая, но по-моему в большинстве случаев лучше будет создать дополнительное свойство в классе модели.
Это — Декларативное программирование VS Императивное программирование. Кому как больше нравится — мне больше нравится по-максимуму все декларировать — Ioc, XAML, атрибуты и т.д.
+ Дополнительное свойство в модели обязует нас использовать MVVM. В указанном примере я бы не хотел использовать MVVM, что бы не увеличивать количество строчек кода и ошибок.

В функции «object Convert(object value, Type targetType, object parameter, CultureInfo culture)» возникает исключение, если просто переключать пользователей Windows 8.1, оказалось, только в этом случае в переменной «value» всегда приходит NULL. Чем вызвано такое поведение? В программе выполняется статический биндинг ComboBox'a к перечислению Enum. Конвертер используется для получения у полей перечисления свойства «Description».
Sign up to leave a comment.