我在我的UWP应用程序中使用MVVMLight(v 5.4.1)并希望实现经典的汉堡菜单,其中我的各种内容页面显示在主页面的框架中。但是,在实践中,似乎没有任何方法可以告诉MVVMLight提供的NavigationService应该在主页面中使用Frame进行导航。从我在网上研究的内容看来,我必须编写自己的NavigationService(如此链接中所定义的:https://maximelabelle.wordpress.com/2017/01/19/implementing-viewmodel-based-navigation-in-your-universal-app/)。这是真的吗?我是否真的必须编写自己的NavigationService,或者我错过了一些明显的东西?
当然汉堡菜单必须是最受欢迎的应用程序样式之一,MVVMLight是否真的无法完全支持它呢?
答案 0 :(得分:0)
我是否真的必须编写自己的NavigationService,或者我错过了一些明显的东西?
MVVMLight
提供了NavigationService
。您无需重现它。
要在MVVM Light中使用导航,您必须在ViewModelLocator.cs中注册和配置INavigationService,为此您必须使用PageKey注册每个页面。
public const string FirstPageKey = "FirstPage";
public const string SecondPageKey = "SecondPage";
var nav = new NavigationService();
nav.Configure(FirstPageKey, typeof(FirstPage));
nav.Configure(SecondPageKey, typeof(SecondPage));
有关详细信息,请参阅此blog。