您的位置:首页 > 其它

silverlight 如何在浏览器的新页面里打开一个xaml

2012-08-06 18:11 337 查看
这个问题搜了大半天,综合各方观点,还是把它给实现了,小有成就感

打开一个新的浏览器窗口,silverlight并不支持这种做法。打开一个新的浏览器窗口意味着打开另一个应用页面。只需要获得那个应用的url(如http://www.163.com),执行HtmlPage.Window.Navigate(new Uri(url));

所以我们就可以以此为突破点来做

但是我又不想把这个页面单独用一个项目来做,于是就想到了在app_startup里判断url参数的方法来选择页面

好了,废话少说上代码

private void Application_Startup(object sender, StartupEventArgs e)
{
IDictionary<string, string> queryString = HtmlPage.Document.QueryString;
if (queryString == null || queryString.Count < 1 || !queryString.ContainsKey("page"))
{
this.RootVisual = new Login();
}
else
{
string pageValue = queryString["page"];
switch (pageValue)
{
case "pointdata":
{
this.RootVisual = new PointData();
}
break;

default:
{
throw new Exception("您所指定的起始页面有错误");
}
}
}
}


在页面跳转的地方用

HtmlPage.Window.Navigate(new Uri("http://localhost:52878/XXTestPage.aspx?page=pointdata", UriKind.RelativeOrAbsolute), "_blank");


ok,大功告成。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐