Навигация в приложении на базе MVVM - PullRequest
3 голосов
/ 22 октября 2009

мы разрабатываем приложение xbap, которое имеет сложный, настраиваемый пользователем поток навигации, который зависит от состояния модели \ безопасности пользователя и т. Д. И некоторых других факторов окружающей среды.

Приложение имеет вид контейнера, который загружает пользовательские элементы управления внутри фрейма, мне интересно, какова предпочтительная практика для использования логики навигации, внутри отдельного контроллера или в модели представления вида контейнера.

Ответы [ 3 ]

2 голосов
/ 24 октября 2009

Я бы поместил код потока навигации в какой-нибудь глобальный контроллер или службу. Вы, вероятно, не хотите, чтобы ваши представления или модели представлений имели такую ​​логику, потому что они могли бы привлечь к ним довольно много зависимостей, особенно если ваш поток довольно сложный и настраиваемый. Вместо этого вы хотите, чтобы эти представления и модели представлений легко тестировались модулем, и в этом случае они будут откладывать то, что происходит, когда они поступают с кем-то, кто находится в лучшем положении для принятия соответствующего решения.

1 голос
/ 22 октября 2009

Я думаю, что подключение обработчика перенаправленного события верхнего уровня для Hyperlink.RequestNavigate и CommandBinding для NavigationCommands.GoToPage будет достаточным уровнем разделения. Вы искали больше?

0 голосов
/ 19 февраля 2010

Дрю, есть шанс получить немного больше объяснений по этому поводу. Мне нравится это решение, но я учусь и не совсем понимаю, как применить его на практике, особенно если в viewModel есть специальная логика, чтобы определить, куда идти дальше.

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