У меня есть вопрос относительно связывания WPF и преобразования типов данных, видимых объектами пользовательского интерфейса в XAML.
У меня есть пользовательский элемент управления, который я хотел бы использовать в разных приложениях. Пользовательский элемент управления отображает уменьшенное изображение и несколько текстовых блоков для отображения демографической информации о человеке, такой как имя и адрес. Пользовательский элемент управления используется в проекте MVVM, поэтому он привязан к ViewModel, специфичному для пользовательского элемента управления.
Следуя типичным принципам проектирования MVVM, ViewModel для пользовательского элемента управления часто встраивается в другие ViewModel для создания большего пользовательского интерфейса.
Модель представления пользовательского элемента управления ожидает определенный тип (класс) в качестве объекта привязки.
Однако модели ViewModel, в которые встроена виртуальная машина UC, имеют совершенно разные объектные модели, поэтому они не могут просто передавать свои данные в виртуальную машину UC. Необходимо преобразовать модель данных родительской виртуальной машины в модель данных виртуальной машины UC.
У меня такой вопрос: есть ли санкционированный способ выполнить это обращение?
Я посмотрел на IValueConverter и IMultiValueConverter, и они не выглядят так, как надо.
Полагаю, что мне нужно что-то вроде прокладки между родительской виртуальной машиной и встроенной виртуальной машиной UC, где данные родительской виртуальной машины преобразуются в формат, требуемый виртуальной машиной UC.
Или все сводится к тому, что мне приходится писать собственную виртуальную машину UC для обработки любых типов, предоставляемых родительской виртуальной машиной?