Где логика навигации, View, ViewModel или где-то еще?

I кнопка в представлении, привязанная к свойству ICommand модели ViewModel (на самом деле это RelayCommand из mvvv-light)

Если пользователь нажимает кнопку, я хочу перейти к новому Посмотреть. Конечно, NavigationService является частью View, а не ViewModel. Это означает, что за навигацию отвечает View? Но в моем случае представление, которое я перейду при нажатии кнопки, зависит от множества факторов, в том числе от того, кто вошел в систему, в каком состоянии находится база данных и т. Д. Конечно, для представления не нужно все эту информацию.

Какой вариант предпочтительнее для выполнения вызова NavigationService.Navigate?

12
задан Ralph Shillington 4 October 2010 в 17:10
поделиться