Методы из INavigationAware
вызываются, когда вы переходите к модели вида, т.е.
- вы определяете регион (например,
ContentControl
), - зарегистрируйте представление для навигации с помощью
IContainerRegistry
- , а затем используйте
IRegionManager
для перемещения по области в представлении.
Пример:
<ContentControl prism:RegionManager.RegionName="MyRegion"/>
containerRegistry.RegisterForNavigation<MyView, MyViewModel>();
regionManager.RequestNavigate( "MyRegion", "MyView" );
... и теперь будет вызываться MyViewModel.OnNavigatedTo
(учитывая, MyViewModel
реализует INavigationAware
) ...
В качестве примечания, некоторые из "лучших практик" связаны действительно ужасно.