我有一个简单的Silverlight WP7应用程序,它可以读取在线XML文件的内容并显示它们。但是,总共可能有150个项目,滚动它们都非常不方便。所以,我想制作一种“收藏夹”页面。单击列表中的任何项目时,它会将其写入应用程序包中的单独XML文件。在写入该XML之后,我需要确保每次加载应用程序时它仍然更新列表,而不是在写入时严格保存该条目的内容。什么方法是最好的方法呢?
答案 0 :(得分:5)
首先,您使用IsolateStorageFile.GetUserStoreForApplication()
获取相关IsolatedStorageFile
,然后使用IsolatedStorageFile.CreateFile
创建文件。返回Stream
,您可以按正常方式写入:{/ p>
using (var storage = IsolateStorageFile.GetUserStoreForApplication())
using (var stream = storage.CreateFile("test.xml"))
{
doc.Save(stream); // Where doc is an XDocument
}
就这么简单。
一个关键点是避免将IsolatedStorageFile
视为单个文件 - 将其视为应用程序的整个驱动器。它可以包含文件,目录等。它可能最终成为本机文件系统中的单个文件,但您的应用程序不需要知道或关心它。
答案 1 :(得分:1)
您可以将项目存储到IsolatedStorage中的XML文件中,就像您对任何其他文件所做的那样。
加载应用程序时,您需要在 Application_Launching 事件处理程序(在App.xaml.cs中)中设置操作 - 例如,您可以创建一个将绑定到ListView元素将包含加载的XML文件中的元素。