Many in the WPF community agree that the built-in navigation system is broken. However, even if you used it, the binding of the Content property is not correct. If you want to use MVVM with navigation, you must combine it with the FrontController template, where the ViewModel sends a navigation request to the controller, which then solves this request for you. There are few examples of this concept because (as I mentioned earlier) many developers pass on the use of WPF's built-in navigation.
If you want to look at a very reliable navigation mechanism for WPF, look at nRoute. This is the port of the MVC routing mechanism for WPF.
source
share