如何在Windows Phone 8网页应用程序中添加历史记录和收藏夹功能
本文关键字:历史 添加 记录 功能 收藏夹 应用程序 Windows Phone 网页 | 更新日期: 2023-09-27 18:07:12
我正在为Windows Phone 8构建一个web浏览器。现在我已经完成了后退,前进,刷新等基本操作,但是我想再增加两个功能使它更完整。
首先是历史记录功能,记录访问过的网页的历史记录,并在被要求时显示。
其次,我想添加一个收藏功能,可以将浏览器上当前的网页放在列表中,之后可以查看列表。
我发现了一些有用的东西,但它是为wpf,没有工作,所以谁能告诉我一步一步的代码或例子做什么?如果需要,我也可以发布示例代码。
1。导航历史
处理Navigated事件的WebBrowser控件和事件处理程序,并将Url以文本格式保存在隔离存储文件中。代码如下:
xaml 中的<phone:WebBrowser Navigated="WebBrowser_Navigated" ... >
后面代码中的事件处理程序private void WebBrowser_Navigated(object sender, NavigationEventArgs e)
{
using (IsolatedStorageFile storeFile= IsolatedStorageFile.GetUserStoreForApplication())
{
StreamWriter sr = new StreamWriter(new IsolatedStorageFileStream("Browse_History.txt", FileMode.Append, storeFile));
sr.WriteLine(e.Uri.ToString());
sr.Close();
}
}
下面的方法将从本地存储读取浏览器历史记录
private List<string> ReadHistory()
{
List<string> history = new List<string>();
using (IsolatedStorageFile storeFile = IsolatedStorageFile.GetUserStoreForApplication())
{
if (storeFile.FileExists("Browse_History.txt"))
{
using (StreamReader reader = new StreamReader(new IsolatedStorageFileStream("Browse_History.txt", System.IO.FileMode.Open, FileAccess.Read, storeFile)))
{
var uri = reader.ReadLine();
while (!string.IsNullOrEmpty(uri))
{
history.Add(uri);
uri = reader.ReadLine();
}
reader.Close();
return history;
}
}
}
return null;
}
您必须使用顶部的语句添加一些缺失的程序集
using System.IO.IsolatedStorage;
using System.IO;
2。Favorties
我假设你想保存收藏在一个按钮上,点击当前打开的页面Url。在按钮上单击事件处理程序编写以下代码。
private void btnSaveToFavorties_Click(object sender, RoutedEventArgs e)
{
using (IsolatedStorageFile appStore = IsolatedStorageFile.GetUserStoreForApplication())
{
StreamWriter sr = new StreamWriter(new IsolatedStorageFileStream("Browser_Favorties.txt", FileMode.Append, appStore));
sr.WriteLine(webBrowser.Source.ToString());
sr.Close();
}
}
和下面是加载所有收藏项
的代码private List<string> LoadFavoirties()
{
List<string> history = new List<string>();
using (IsolatedStorageFile appStorage = IsolatedStorageFile.GetUserStoreForApplication())
{
if (appStorage.FileExists("Browser_Favorties.txt"))
{
using (StreamReader reader = new StreamReader(new IsolatedStorageFileStream("Browser_Favorties.txt", System.IO.FileMode.Open, FileAccess.Read, appStorage)))
{
var uri = reader.ReadLine();
while (!string.IsNullOrEmpty(uri))
{
history.Add(uri);
uri = reader.ReadLine();
}
reader.Close();
return history;
}
}
}
return null;
}
希望能有所帮助