Привязка объектов разных типов к списку в WPF - PullRequest
0 голосов
/ 15 ноября 2010

Требование: 1. Показать список всех типов рефералов в поле со списком.(например, Газета, Желтые страницы, Клиент) 2. При выборе клиента отображается всплывающее окно, где они могут искать клиентов в системе.3. Из всплывающего окна пользователь может выбрать одного клиента.4. Всплывающее окно будет отклонено, а имя клиента будет введено в поле со списком.

Я почти закончил реализацию, в которой выполнены требования с 1 по 3.Тем не менее, я застрял с номером 4. Причина в том, что комбинированный список связан с объектами ссылочного типа.Тем не менее, выбранный элемент из всплывающего окна имеет тип «клиент».Прямо сейчас я просто отображаю выбранного клиента в отдельном текстовом блоке.Однако клиент хочет, чтобы он отображался как часть самого комбобокса.

Не уверен, как это можно сделать.

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 09 сентября 2014

У вас может быть BaseReferralTypeViewModel, от которого наследуются все NewspaperViewModel, YellowPagesViewModel и ClientViewModel. В поле со списком ресурсов в xaml объявите DataTemplates, которые описывают, как отображать эти типы в поле со списком. В случае первых двух типов это, вероятно, просто текстовый блок. В случае ClientViewModel создайте экземпляр, но не инициализируйте его никакими данными клиента. DataTemplate может обнаружить это и просто отобразить тип реферала. Как только ClientViewModel инициализируется с помощью данных клиента с помощью всплывающего окна, DataTemplate обнаружит это и отобразит имя.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...