最近做一个webbrowser的项目,经常需要在含有webbrowser控件的页面中弹出一些其他页面,不如弹出一个含有google 地图的层.
因为这个webborowser里面的内容我们无法保存(dom结构能保存,bom结构就没办法了),所以又不能导航到含有google地图的页面中,
以前我总是把需要弹出的这个层做成一个Usercontrol然后添加到root控件中,把原本的内容用一个panle装起来,并且将Visibility设置成 System.Windows.Visibility.Collapsed。
今天突发奇想,每个应用程序都有唯一的一个PhoneApplicationFrame
页面只不过是他的content,我们是不是只需要更换PhoneApplicationFrame 的content属性就好了呢,于是做了以下测试:
Global.Page =this; //用一个全局的变量保存需要返回的页面
((PhoneApplicationFrame)Application.Current.RootVisual).Content = new Page1();//新页面
在Page1中 调用下面的这行代码就能回来
((PhoneApplicationFrame)Application.Current.RootVisual).Content = Global.Page;
不知道大家是否还有更好的方法? 请赐教。