我在Xamarin.Forms
上写了一个应用程序。有一个主要形式,可以从它移动到其他表示。问题是我无法使用页面导航。如何实施? ViewModel
我有一个图书馆。我使用MvvmLightLibs
向它投掷命令。我看到的所有信息都给出了一个使用INavigation
的例子,但它在ViewModel
中不可见
你必须自己实现一个NavigationService
,MvvmLight中没有开箱即用的Xamarin.Forms。但是,实现这样的服务非常简单,只需要几种方法即可。我建议你检查this blogpost,它有一个演练,用于构建一个简单的Xamarin.Forms + MvvmLight应用程序。
关键是创建一个像INavigationService
这样的界面,它将拥有像NavigateTo
和GoBack
这样的方法。然后,您创建一个实现此接口的类,并使用根NavigationPage
在整个应用程序中导航。在启动时,您创建一个NavigationService
实例并传入它将使用的NavigationPage
实例。
如果使用SimpleIoc
注册实例,则可以使用构造函数注入 - 在视图模型中,将INavigationService
参数添加到构造函数中,框架将传入已注册的实例。
所有这些都在上面链接的博客中得到了证明,所以这是一个很好的起点。
另一个很好的学习来源是this Xamarin Show剧集,其中MvvmLight的创建者Laurent Bugnion自己展示了如何使用Xamarin.Forms框架。