【发布时间】:2011-11-10 06:18:03
【问题描述】:
我正在为 Windows Phone 7/Silverlight 编写应用程序。当应用程序在包含 WebBrowser 控件的应用程序页面上被删除并重新激活时(我已将 Uri 保存为应用程序状态)或导航到同一应用程序页面通过 NavigationService.GoBack() 或手机后退按钮,似乎只要控件仍然具有 webbrowser.source 值,它就应该渲染得很好,但事实并非如此。除非我使用 Navigate() 方法,否则无论我尝试什么,它都会显示白色/空白屏幕。不幸的是,使用 Navigate() 方法会导致 Web 内容不必要地再次下载。当只使用 GoBack() 来返回带有 WebBrowser 控件的应用程序页面时,尤其令人沮丧,这在我的应用程序中很常见。
private void OnWebBrowserLoaded(object sender, RoutedEventArgs e)
{
//webBrowser1.Source = CurrentUri; //does not work, results in white/blank browser page
webBrowser1.Navigate(CurrentUri); //works, but page has to reload from web, bad UX
}
关于解决这个问题的方法有什么建议吗?我还尝试将相同的代码放在页面加载处理程序中。它的行为方式同样糟糕。
我也尝试过保存 HTML (SaveToString) 并从应用程序状态 (NavigateToString) 重新加载它,但由于某种原因网页没有完全呈现,即使 HTML 看起来不错。另外,我想访问 Host 和 Uri 属性。如果我可以让 HTML 从 NavigateToString 呈现 OK,我可能可以解决这个问题。 谢谢, 周杰伦
【问题讨论】:
-
我相信这在芒果中是固定的。如果您退出 IE 并重新打开,即使 IE 本身也会重新加载页面,而现在它不会
标签: c# silverlight browser windows-phone mobile-browser