![]() |
|
Модераторы: gambit, Kefir, Partizan |
![]()
|
|
| Wanderer2019 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 937 Регистрация: 3.12.2004 Где: Санкт-Петербург/П рага Репутация: нет Всего: 17 |
Привет,
Подскажите, как правильно в условиях MVVM организовать работу с дочерними окнами. К примеру окно типа Login. Кто должен его создать и подцепить к его DataContext ViewModel? App.xaml.cs или ShellViewModel или другой вариант? |
|||
|
||||
| likegift |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 208 Регистрация: 14.10.2008 Репутация: 2 Всего: 3 |
примерно так:
App.xaml.cs
|
|||
|
||||
| Kefir |
|
|||
|
«Hakuna Matata» ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1878 Регистрация: 25.1.2003 Где: Tampere, Suomi Репутация: 22 Всего: 87 |
Если просто касательно дочерних окон, то проще и удобнее всего через мессенжер (например в LightMVVM он есть, я писал свой). Получается нечто вроде маршрутизатора событий. Работает примерно так (у меня):
Суть: VM посылает какие-то свои сообщения через маршрутизатор. V подписывается на нужные сообщения и показывает окна по мере необходимости. Можно сервисом сделать или ещё как - дело хозяйственно. И в юнит-тестах можно просто подменять обработчиков.
Дальше дотачивать до своих нужд (классы для сообщений, к примеру). |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | WPF и Silverlight | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |