我的silverlight项目有两个页面:MainPage-default页面和SecondViewPage添加的Silverlight页面。 为了从一个导航到另一个,我已经覆盖了Application_Startup(...)
{
this.RootVisual = mainUI;
mainUI.Children.Add(new MainPage());
}
创建了一个
public static void GotoPage(UserControl nextPage)
{
App app = (App)Application.Current;
app.mainUI.Children.Clear();
//show next page
app.mainUI.Children.Add(nextPage);
}
然后打开SecondViewPage很简单:
App.GotoPage(new SecondViewPage());
但我真正想要的是在分隔浏览器窗口中打开第二个视图页面,因为删除childer并添加new会使导航完全在浏览器之外(“后退”按钮不保持prvious page链接)。
感谢您的建议。 V
答案 0 :(得分:0)
您似乎没有使用Silverlight 4提供的任何导航功能。
我建议您尝试使用“业务应用程序”模板生成测试项目,并查看多页导航 的工作方式。它完全支持浏览器的前后移动,可以为您节省大量的工作。
答案 1 :(得分:0)
这正是导航框架旨在解决的问题。
我建议你清理半小时,然后在第9频道观看Silverlight TV Video。
修改强>
如果您必须启动一个单独的窗口,导航框架仍然有用,但您可以使用标准窗口导航。像这样: -
HtmlPage.Window.Navigate(new Uri("ThisHostPage.aspx#SecondView" UriKind.Relative), "_blank");