0

Windows.NET for Windows Store apps API:s 中是否有任何支持允许我列出为正在执行的应用程序定义的文件类型关联?

在我的场景中,我有一个Windows 应用商店类库,我打算从各种Windows 应用商店应用程序中引用它。理想情况下,我希望能够在类库方法中读取应用程序定义的文件类型关联。这可能吗?

4

1 回答 1

0

迄今为止,似乎没有内置方法可以访问Windows 应用商店应用程序的文件类型关联,但由于这篇博文,我已经能够实现一种解决方法。

显然,Package.appxmanifest文件被转换为一个文件AppxManifest.xml,该文件与部署的应用程序一起分发。其中,清单文件包含用户定义的应用程序文件类型关联,因此可以使用简单的XML查询来获取这些定义:

var document = XDocument.Load("AppxManifest.xml");
var xname = XNamespace.Get("http://schemas.microsoft.com/appx/2010/manifest");

var fileTypeElements = 
    document.Descendants(xname + "FileTypeAssociation").Descendants().Descendants();
var supportedFileExtensions = 
    fileTypeElements.Select(element => element.Value).ToArray();

这段代码当然可以进一步微调,例如FileTypeAssociation节点是Application节点的(深)后代,在同一个清单文件中可以有多个。尽管如此,上面的代码至少应该能够作为第一次尝试的方法。

于 2013-03-25T12:43:26.667 回答