Windows phone 8 Windows Phone 8 SDK-屏幕锁定和应用程序重新启动问题
我有一个带有webbrowser控件的应用程序。当我在该控件中导航,然后离开一点,然后返回到它(由于不活动而解锁屏幕后),第一页/原始页再次显示。如何维护浏览器的状态?在App.xaml.cs中定义公共属性Url以存储UrlWindows phone 8 Windows Phone 8 SDK-屏幕锁定和应用程序重新启动问题,windows-phone-8,webbrowser-control,Windows Phone 8,Webbrowser Control,我有一个带有webbrowser控件的应用程序。当我在该控件中导航,然后离开一点,然后返回到它(由于不活动而解锁屏幕后),第一页/原始页再次显示。如何维护浏览器的状态?在App.xaml.cs中定义公共属性Url以存储Url public Uri Url { get; set; } 在WebBrowser_LoadCompleted事件上:将包含当前加载Url的WebBrowser.Source属性保存到应用程序类的Upper Url属性 App app = Application.Curre
public Uri Url { get; set; }
在WebBrowser_LoadCompleted事件上:将包含当前加载Url的WebBrowser.Source属性保存到应用程序类的Upper Url属性
App app = Application.Current as App;
app.Url = WebBrowser.Source;
在应用程序被禁用事件(将应用程序发送到后台)中,将当前应用程序的状态保存到IsolatedStorage
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings["Url"] = Url;
settings.Save();
在应用程序启动事件(恢复应用程序)上,将存储的数据拉回来
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
Url currentUrl;
if (settings.TryGetValue("Url", out currentUrl))
Url = (Uri)settings["Url"];
然后,您可以从恢复的Url重新加载最后一个导航页面
App app = Application.Current as App;
WebBrowser.Navigate(app.Url);
在App.xaml.cs中定义公共属性Url以存储Url
public Uri Url { get; set; }
在WebBrowser_LoadCompleted事件上:将包含当前加载Url的WebBrowser.Source属性保存到应用程序类的Upper Url属性
App app = Application.Current as App;
app.Url = WebBrowser.Source;
在应用程序被禁用事件(将应用程序发送到后台)中,将当前应用程序的状态保存到IsolatedStorage
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings["Url"] = Url;
settings.Save();
在应用程序启动事件(恢复应用程序)上,将存储的数据拉回来
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
Url currentUrl;
if (settings.TryGetValue("Url", out currentUrl))
Url = (Uri)settings["Url"];
然后,您可以从恢复的Url重新加载最后一个导航页面
App app = Application.Current as App;
WebBrowser.Navigate(app.Url);
您可以尝试以下方法:
bool isNew = true;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
isNew = false;
}
此属性将一直保持到您的页面关闭,因此您可以使用它来测试这是否是您的页面第一次被导航到。您可以尝试以下操作:
bool isNew = true;
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
isNew = false;
}
此属性将一直保持到页面关闭,因此您可以使用它来测试页面是否是第一次导航到该属性。您描述的场景通常称为“逻辑删除”。您可以使用此关键字查找一些文档。我不确定处理您的问题的最佳方法是什么,但我想它涉及到在应用程序停用时保存当前webbrowser的URI,并在应用程序激活时恢复它。这还不足以完全恢复浏览器的状态(例如,用户在表单中键入的内容将丢失),但我不知道是否有更好的方法。您描述的场景通常称为“墓碑整理”。您可以使用此关键字查找一些文档。我不确定处理您的问题的最佳方法是什么,但我想它涉及到在应用程序停用时保存当前webbrowser的URI,并在应用程序激活时恢复它。这还不足以完全恢复浏览器的状态(例如,用户在表单中键入的内容将丢失),但我不知道是否有更好的方法。