我有一个简单的Silverlight应用程序,它由四个页面(XAML)组成。 通过调用:
完成导航//from XamlPageA
this.Content = new XamlPageB();
这是正确的方法吗?我需要在浏览器历史记录中输入条目,以便用户可以转到上一页面。我怎么能这样做。
答案 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从视图转换为视图。
希望这有助于您的项目。