0

我是 Windows 8 应用程序开发的新手。我正在尝试移植我在 .NET 中编写的旧应用程序。此应用程序使用存储为四个 XML 文件的基本数据,这些文件作为“资源”添加到项目中,并使用 System.Xml.Serialization.XmlSerializer 对它们进行反序列化。

使用 Windows 8 应用商店应用程序传送此类数据的最佳方式是什么?只是将它们放在资产文件夹中?

在 Windows 8 应用程序中加载和绑定此类数据的最佳方式是什么?

我很感激你能给我的一切,一个直接的答案,有用的链接或关于 Windows 8 中数据加载和绑定的视频......

4

2 回答 2

1

使用 Windows 8 应用商店应用程序传送此类数据的最佳方式是什么?只是将它们放在资产文件夹中?

是的,将它们放在您的资产文件夹中。请务必将构建属性设置为“内容”+“复制到输出”。完成此操作后,您可以使用以下 url 从您的应用程序访问它们:ms-appx:///Assets/myxmlfile.xml

例如:

StorageFile xmlFile = await StorageFile.GetFileFromApplicationUriAsync
    (new Uri("ms-appx:///Assets/myxmlfile.xml"));

以上为您提供了一个文件对象,您可以使用它来读取您的文件。显然,由于您正在从Assets文件夹中读取,因此您的文件将是只读的。

在 Windows 8 应用程序中加载和绑定此类数据的最佳方式是什么?

至于数据绑定,这可能有点太大而无法在一个答案中涵盖。您可能想看看这个Windows 8 数据绑定示例

于 2013-03-31T17:04:11.083 回答
1

您可以在商店应用程序中使用资源,这里是示例:

public static string GetXmlContentsFromResource(Assembly asm, string dataName)
{
  string contents = "";

  Stream stream = asm.GetManifestResourceStream(asm.GetName().Name + "." + dataName);
  using (StreamReader reader = new StreamReader(stream))
  {
    contents = reader.ReadToEnd();
  }
  return contents;
}

您应该将 XML 文件添加到解决方案并将其标记为“嵌入式资源”,如果您将 XML 文件放在子目录中,例如如果文件夹名为 Data 并且 xml 文件是 Data1.xml 那么您应该像这样将参数 dataName 发送到上述方法“数据.Data1.xml”。

对于数据绑定,最好的方法是将 XML 反序列化为反映 XML 内容的对象或对象列表。

于 2013-03-31T17:29:32.840 回答