Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
tasty_sock
133 / 131 / 21
Регистрация: 26.01.2010
Сообщений: 350
1

Реализация master-detail с использованием MVVM

07.06.2012, 00:24. Просмотров 1031. Ответов 3
Метки mvvm (Все метки)

Привет.

Интересует вопрос реализации данного интерфейса при помощи MVVM.
Есть модель Client, сырые данные получаю через WCF-сервис (List<Client>). Как я понимаю, нужно использовать 2 ViewModel'a: для отображения списка и для отображения детальной информации, но никак не могу сообразить, как вывести информацию по выбранному элементу.
Интересует именно фрагмент кода.

Добавлено через 20 минут
Если бы источником данных для списка служила обычная коллекция, содержащая данные о клиентах, то никаких проблем бы не было. Но что делать, когда источником данных выступает ViewModel?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.06.2012, 00:24
Ответы с готовыми решениями:

Master-Detail в WPF
Здравствуйте, не получается отобразить Master-Detail в WPF вот код: (Здесь всю...

Реализация паттерна MVVM
Добрый день, форумчане. Ни разу не пользовался данным паттерном...

Реализация клика мыши на Border с применением MVVM
Добрый вечер, форумчане! Делаю программку в C# WPF с паттерном MVVM и...

Реализация команд в wpf на mvvm light toolkit
Здравствуйте. Подскажите, пожалуйста, как можно реализовать команды в wpf на...

Насколько приведенная абстрактная реализация соответствует шаблону MVVM
Интересно бы узнать на сколько абстрактная реализация ниже соответствует...

3
iliabest
16 / 16 / 3
Регистрация: 16.08.2011
Сообщений: 62
07.06.2012, 10:10 2
У тебя есть List<Client> к которому ты привязан {Binding Clients} и есть выбранный элемент к которому ты тоже привязан : SelectedItem={Binding SelectedClient, Mode=TwoWay}. Когда элемент выбирается твой xaml компилятор заносит ссылку на объект в переменную SelectedClient. Далее тебе необходимо в каком то TextBox отобразить о нем информацию, следовательно, ты делаешь какой то StackPanel или Grid и устанавливаешь у него DataContext уже SelectedClient, а все TextBox уже непосредственно биндишь на поля твоей модели (SelectedClient).

Все это делается только в XAML!! Никакого биндинга в behind code или ViewModel. модель которая в контексте главного окна содержит только 2 dependencyproperty, Clients и SelectedClient
1
tasty_sock
133 / 131 / 21
Регистрация: 26.01.2010
Сообщений: 350
07.06.2012, 11:20  [ТС] 3
К списку клиентов я привязываюсь через ObservableCollection<ClientPreviewViewModel>, а не через List<Client> - в том-то вся и суть, что для отображения списка и отображения детальной информации я хочу использовать 2 разных viewmodel. Поэтому хочется выяснить как хранить текущего клиента.
0
iliabest
16 / 16 / 3
Регистрация: 16.08.2011
Сообщений: 62
07.06.2012, 11:45 4
Тогда нужно обеспечить связку между конкретным Client и ClientPreviewViewModel, в виде композиции, или наследования.... А дальше все как я написал...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.06.2012, 11:45

Обновление БД в реальном времени с использованием EF для архитектуры MVVM
Доброго времени суток. Возможно ли отображение всех изменений в БД в реальном...

Биндинг свойства в рамках модели MVVM с использованием PropertyChanged
Доброго времени суток, уважаемые форумчане. Столкнулся с проблемой. У...

MVVM Light реализация вывода хода выполнения программы в TextBox или др. контролл
Здравствуйте. Стоит задача реализовать простой вывод хода выполнения программы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru