1

来自 Windows 窗体背景,当用户尝试从 Windows 资源管理器打开文本文件时,我习惯于在 Program.cs 文件中处理传递给我的应用程序的参数,以便我的应用程序可以显示其内容给用户。

但是,在 Metro 风格的应用程序中,我们不再有 Program.cs 文件。我们有 App.xaml 或 App.xaml.cs 文件。

好像我找不到相关文档,我可以尝试在 App.xaml.cs 文件中以“通常”的方式进行操作,但我什至不确定这是否是正确的方法。我已将适当的功能和文件类型关联添加到我的 Metro 风格应用程序中,但除此之外我不知道从哪里开始。

我们如何将支持的文件从 Documents 文件夹打开到我们自己的 Metro 风格应用程序中?

4

3 回答 3

1

请参阅如何处理文件激活@ http://msdn.microsoft.com/en-us/library/windows/apps/xaml/hh779669.aspx

于 2012-09-19T18:26:13.563 回答
0

您可以通过两个特定步骤处理此问题:

  1. 在清单中声明文件扩展名。您可以通过在 VS 的解决方案资源管理器中打开 package.appxmanifest,转到声明选项卡,然后添加“文件类型关联”声明和相关信息来执行此操作。
  2. 在您的激活处理程序中,您将看到偶数有一个“Kind”参数。这将是文件启动(从资源管理器或其他地方)的“文件”。您将在同一对象的“文件”属性中获取文件。

完整的细节在这里。获得文件后,您可以使用标准的 Windows.Storage API 来访问这些文件。

于 2012-09-19T18:27:21.150 回答
0
  1. 在解决方案资源管理器中打开 package.appxmanifest。
  2. 选择声明选项卡。
  3. 从下拉列表中选择文件类型关联,然后单击添加。
  4. 输入 txt 作为名称。
  5. 输入 .txt 作为文件类型。
  6. 输入“images\Icon.png”作为徽标。

在应用程序包中添加正确的图标

在 c# 中,您需要处理 OnFileActivated 事件

protected override void OnFileActivated(FileActivatedEventArgs args)
{
 // TODO: Handle file activation

// The number of files received is args.Files.Size
// The first file is args.Files[0].Name
}
于 2014-07-07T07:17:39.533 回答