无法在Xamarin.Forms中实现导航

时间:2018-09-04 10:14:00

标签: c# xamarin mvvm xamarin.forms mvvm-light

我正在Xamarin.Forms上编写应用程序。有一个主要形式,可以从它转移到其他表示形式。问题是我无法使用页面导航。如何实施? ViewModel我有图书馆。我使用MvvmLightLibs在上面扔了命令。我看到的所有信息都提供了一个使用INavigation的示例,但在ViewModel

中不可见

enter image description here

1 个答案:

答案 0 :(得分:0)

您将必须自己实现NavigationService,对于Xamarin.Forms,MvvmLight中没有可用的开箱即用功能。但是,实现这种服务非常简单,仅需几种方法即可。我建议您检查this blogpost,其中提供了有关构建简单Xamarin.Forms + MvvmLight应用程序的演练。

关键是创建一个像INavigationService这样的接口,该接口将具有像NavigateToGoBack这样的方法。然后,您创建一个实现此接口并使用根NavigationPage导航整个应用程序的类。在启动时,您创建一个NavigationService的实例,并传入将与之配合使用的NavigationPage的实例。

如果向SimpleIoc注册实例,则可以利用构造函数注入-在视图模型中,向构造函数添加INavigationService参数,框架将传递已注册的实例。

所有这些都在上面链接的博文中进行了演示,因此这是一个很好的起点。

this Xamarin Show这是另一个很好的学习资源,其中MvvmLight的创建者Laurent Bugnion亲自演示了如何在Xamarin.Forms中使用该框架。