I a button in a view, bound to an ICommand property of the ViewModel (actually it's RelayCommand from mvvv-light)
If the user clicks on the button I want to navigate to a new view. Of course the NavigationService is part of the View not the ViewModel. That implies that the navigation is the responsibility of the View? But in my case, the view I will be going when the button is clicked depends on a great many factors, including who the logged in user is, the state the database is in, etc... Surely the View shouldn't need all that information.
What is the preferred option for executing a NavigationService.Navigate call?