我正在Xamarin.Forms
上编写应用程序。有一个主要形式,可以从它转移到其他表示形式。问题是我无法使用页面导航。如何实施? ViewModel
我有图书馆。我使用MvvmLightLibs
在上面扔了命令。我看到的所有信息都提供了一个使用INavigation
的示例,但在ViewModel
答案 0 :(得分:0)
您将必须自己实现NavigationService
,对于Xamarin.Forms,MvvmLight中没有可用的开箱即用功能。但是,实现这种服务非常简单,仅需几种方法即可。我建议您检查this blogpost,其中提供了有关构建简单Xamarin.Forms + MvvmLight应用程序的演练。
关键是创建一个像INavigationService
这样的接口,该接口将具有像NavigateTo
和GoBack
这样的方法。然后,您创建一个实现此接口并使用根NavigationPage
导航整个应用程序的类。在启动时,您创建一个NavigationService
的实例,并传入将与之配合使用的NavigationPage
的实例。
如果向SimpleIoc
注册实例,则可以利用构造函数注入-在视图模型中,向构造函数添加INavigationService
参数,框架将传递已注册的实例。
所有这些都在上面链接的博文中进行了演示,因此这是一个很好的起点。
this Xamarin Show这是另一个很好的学习资源,其中MvvmLight的创建者Laurent Bugnion亲自演示了如何在Xamarin.Forms中使用该框架。