none
求助,关于WebBrowser RRS feed

  • 问题

  • 使用NavigationService.GoBack()或手机上的back按钮,返回带有WebBrowser的页面时,先前WebBrowser里面的内容会清空并重新加载,有方法保留原来内容吗?
    2011年5月19日 6:59

答案

  • 理论上:可以通过SaveToString方法,将页面的HTML保存。在返回时,将其通过NavigateToString方法加载。

    不过我验证了一下,没有效果,很怪异。我是在页面的OnNavigatingFrom保存,在页面的Loaded / WebBrowser的Loaded / OnNavitatedTo方法中加载,不过这三个位置都没效果。


    专注于Windows Phone
    2011年5月19日 14:39
    版主

全部回复

  • 理论上:可以通过SaveToString方法,将页面的HTML保存。在返回时,将其通过NavigateToString方法加载。

    不过我验证了一下,没有效果,很怪异。我是在页面的OnNavigatingFrom保存,在页面的Loaded / WebBrowser的Loaded / OnNavitatedTo方法中加载,不过这三个位置都没效果。


    专注于Windows Phone
    2011年5月19日 14:39
    版主
  • 在Windows Phone7处理Start键引起的应用程序进入墓碑状态,或者Back键返回上一页面时,需要采用墓碑机制保存页面的瞬态数据。

    应用墓碑机制,需要关注四个事件的处理:Application_LaunchingApplication_ClosingApplication_DeactivatedApplication_Activated

    当应用程序在Windows Phone启动页面上开始运行时,处理Application_Launching事件从独立存储空间或者远程服务读取数据。当用户关闭应用程序或者使用后退键导航到先前运行的另一个应用程序时,处理Application_Closing事件将永久保存的数据存储到独立存储空间或者远程服务。当应用程序进入墓碑状态前,应处理Application_Deactivated事件将应用程序的瞬态(或称为暂态),以便在应用程序被重新激活时快速恢复。应用程序的瞬态(或称为暂态)保存在PhoneApplicationService.State属性中,页面的瞬态(或称为暂态)保存在PhoneApplicationPage.State属性。当用户使用后退键导航到应用程序中或者外部事件入侵完毕(电话呼叫或者锁屏显示终了)时,应用程序将被重新激活,处理Application_Activated事件使用PhoneApplicationService.StatePhoneApplicationPage.State读取瞬态(或成为暂态)数据。

    Tombstoning Sample(http://msdn.microsoft.com/zh-cn/library/ff431744.aspx)

    To help ensure that the end user experience is fast and responsive, Windows Phone prioritizes the application running in the foreground and will typically terminate and tombstone an application when the user navigates away. If your application is reactivated after being tombstoned, it is important to restore the visual state of your application so that the user experience is that of returning to a running application. It is also important that application state be restored in a way that does not delay the load time of the application. This sample shows how to restore the visual state of a page and application data when an application is reactivated after tombstoning. For more information on how this sample works, see How to: Preserve and Restore Page State for Windows Phone and How to: Preserve and Restore Application State for Windows Phone.

     


    Cedar
    2011年5月21日 6:45
    版主
  • Mango版本对于此问题有哪些改进还有待5月24日揭晓。
    Cedar
    2011年5月21日 6:47
    版主
  • 同等呀,回退还要载入,这个是乍想的呢?
    WindowsPhone开发初学者。
    2011年5月21日 13:05