我正在开发一个Silverlight 3 Beta导航应用程序,因此我采用了略微变化的MVVM模式 :) (全局视图模型),使用Prism等内容。
问题:如何在ViewModel中导航到不同的“NavigationPage”?
长话短说,ViewModel被声明为页面资源。
然后使用一条命令将所有内容与视图模型连接起来。
现在,如果我尝试在视图模型中导航到任何地方,像这样:
导航服务为空,我找到了this篇文章,讲述了如何使用Helix 0.3进行导航,这是在SL2时期构建的,当时导航控件还不存在。现在Helix的模型运行良好,通过在ViewModel中实现INavigationAware,您可以访问NavigationContext,然后执行所需操作,我已经尝试过Helix,它运行良好。
SL3带有内置的导航支持,可以说与Helix相同。因此,我不想使用第三方框架,而是更喜欢使用内置的SL3功能。
SL3中是否有类似于Helix的INavigationAware接口的东西?
问题:如何在ViewModel中导航到不同的“NavigationPage”?
长话短说,ViewModel被声明为页面资源。
<navigation:Page.Resources>
<mvvm:LoginModel x:Key="DataSource" d:IsDataSource="True"></mvvm:LoginModel>
</navigation:Page.Resources>
然后使用一条命令将所有内容与视图模型连接起来。
<Button x:Name="LoginButton" Width="100" Margin="8" Content="Login"
prism:Click.Command="{Binding LoginCommand}"/>
现在,如果我尝试在视图模型中导航到任何地方,像这样:
this.NavigationService.Navigate(new Uri("/Views/About.xaml", UriKind.Relative));
导航服务为空,我找到了this篇文章,讲述了如何使用Helix 0.3进行导航,这是在SL2时期构建的,当时导航控件还不存在。现在Helix的模型运行良好,通过在ViewModel中实现INavigationAware,您可以访问NavigationContext,然后执行所需操作,我已经尝试过Helix,它运行良好。
SL3带有内置的导航支持,可以说与Helix相同。因此,我不想使用第三方框架,而是更喜欢使用内置的SL3功能。
SL3中是否有类似于Helix的INavigationAware接口的东西?