在XAML页面之间导航

时间:2011-06-10 07:39:19

标签: c# silverlight silverlight-3.0

我有一个简单的Silverlight应用程序,它由四个页面(XAML)组成。 通过调用:

完成导航
//from XamlPageA
this.Content = new XamlPageB();

这是正确的方法吗?我需要在浏览器历史记录中输入条目,以便用户可以转到上一页面。我怎么能这样做。

1 个答案:

答案 0 :(得分:1)

您通过手动设置内容完全绕过导航系统。如果你这样做,你必须自己实现更新浏览器历史记录(当然可能,但非常繁琐)。

更简单的方法是生成“Silverlight业务应用程序”项目,并查看如何使用超链接按钮简单地处理页面导航。所有浏览器历史记录管道都是为您完成的,就像从URL到视图的映射一样。

e.g。带有NavigateUri="/Home"的按钮将导致名为Home.xaml的视图加载到MainPage窗口的navigation:Frame

如果你查看MainPage.xaml的navigation:Frame元素,你会看到许多像这样的UriMapping条目:

  <uriMapper:UriMapping Uri="" MappedUri="/Views/Home.xaml"/>
  <uriMapper:UriMapping Uri="/{pageName}" MappedUri="/Views/{pageName}.xaml"/>

它们提供模式匹配以将URL从视图转换为视图。

希望这有助于您的项目。

相关问题