带绑定的Windows 8 Store App导航?

时间:2014-04-08 08:08:48

标签: c# wpf windows-8 navigation

我的第一个C#/ Xaml体验是Windows Phone 8,其中导航的工作方式如下:

NavigationService.Navigate(new Uri("/MyPage.xaml", UriKind.Relative));

这意味着我可以用我需要的任何内容替换字符串“/MyPage.xaml”并转到该页面。

Windows Store应用程序可能类似吗?

this.Frame.Navigate(typeof(MyPage), UriKind.Relative);

MyPage不是字符串,所以我不能在应用程序运行时简单地替换它。还有什么办法吗?

我在做的是: 我使用ListBox从绑定的viewModel获取它的数据。在那里,我希望在SelectionChanged事件被触发后存储应用应导航到的目标。

2 个答案:

答案 0 :(得分:1)

是的,您可以在选择更改后传递页面的URL并加载相应的dataContext

protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
    base.OnNavigatedTo(e);
    var title = NavigationContext.QueryString["title"];
    (DataContext as ImagePageViewModel).Load(title);
}

按照这个符合您要求的示例

page-navigation-in-windows-phone-and-windows-8

答案 1 :(得分:1)

如果你得到带有命名空间的字符串,你可以像下面这样使用它。

this.Frame.Navigate(Type.GetType("Namespace.PageName"));