导航是Windows Phone应用程序的关键方面之一,此页面上已有很多问题,尤其是使用MVVM Light。起初我考虑过使用NavigationService
实现,但之后我找到了this codeproject article。
基本上,作者在主ViewModel中实例化当前内容的ViewModel,并在DataTemplate
中使用App.xaml
,视图知道UserControl
在{{{}}时插入1}}改变。
这对我来说似乎很有意思,但正如“roberto bandiera”在文章下面的评论中指出的那样,我不太明白CurrentViewModel
在这里的作用。如何使用ViewModelLocator
切换视图/ ViewModel,而不是在ViewModelLocator
内实例化其他ViewModel?当有更多观看时,MainVM
如何正确使用?我认为将ViewModelLocator
其他视图/用户控件绑定到DataContext
的属性可能是这样做的,但后来我不明白{{1}中的相应导航命令如何应该看起来没有显式传递视图类型参数,如下所述。
如果这根本不是一个好的方法,你是否拥有/知道任何资源,或者更好的是,在Windows Phone 8.1应用程序(或商店/通用)中成功使用MVVM(Light)方法的简单示例对于这个问题)?由于ViewModels将ViewModelLocator
作为参数传递给MainVM
方法,NavigationService
方式对我没有吸引力。到目前为止,是否存在普遍接受的方法?