Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
А как делать кошерно по MVVM?
|
|||
|---|---|---|---|
|
#18+
Ну, все видели 100 туториалов по MVVM, делаем окно, к нему ViewModel, свойства и всё такое. А как организовывать межоконную передачу данных? Допустим, у меня приложение, у него окно с ViewModeлью. Я открываю диалог настроек (модальный). Откуда брать VM для него? Писать новую, и создавать её каждый раз, когда надо открыть окошко? Выделить набор полей в основной VM? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 16:59 |
|
||
|
А как делать кошерно по MVVM?
|
|||
|---|---|---|---|
|
#18+
Что мешает создать отдельную VM для этого окна? Хранить его можно и в поле основной модели, или синглтоном сделать, если окно настроек открывается из разных мест, или создавать каждый раз, заполняя из БД и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 21:05 |
|
||
|
А как делать кошерно по MVVM?
|
|||
|---|---|---|---|
|
#18+
13th, у меня сделано так: есть WindowManager : IWindowManager, который открывает либо окно, либо диалоговое окно, в качестве аргументов ему нужна только ViewModel. Далее WM ищет в ресурсах приложения и в ресурсах Parent окна (если это DialogWindow) стиль с ключом {x:Type MyViewModel} для данной модели и открывает окно. MyViewModel наследован от WindowViewModel : IWindowModel куда засунуто закрытие окна из ViewModel, проверка при закрытии и прочие ништяки. В WindowManager добавлена вся анимация для окон, а список окон сделан в виде дерева или списка, кому как удобно. В найденном стиле заданы все параметры для окна, включая свойства Content и ContentTemplate, либо ContentTemplateSelector, иконка и т.д. Не думаю, что вариант претендует на удобный :) в текущем проекте по верх Manager'а окна идет еще Manager табов. WM сделан по singleton шаблону и его можно получить в любой момент либо из ViewModel, либо из View. Когда открываю DialogBox из ViewModel, возникает вопрос, какое окно считать родительским, чтоб его "заблокировать", но я не парюсь и просто беру текущее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.08.2016, 21:12 |
|
||
|
А как делать кошерно по MVVM?
|
|||
|---|---|---|---|
|
#18+
Shocker.Pro, ничего не мешает. Я спрашиваю: какая практика считается или показалась другим специалистам более usefull. Я оба описанных мною вариантов попробовал - пока не определился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.08.2016, 13:07 |
|
||
|
|

start [/forum/topic.php?fid=21&msg=39298107&tid=1440629]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
65ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 16ms |
| total: | 158ms |

| 0 / 0 |
