在Metro App中打开Windows资源管理器中的文件

时间:2012-09-19 18:05:29

标签: c# .net windows-8 microsoft-metro

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

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

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

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

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以通过两个具体步骤来处理:

  1. 在清单中声明文件扩展名。您可以通过从VS中的解决方案资源管理器打开package.appxmanifest,转到声明选项卡,然后添加“文件类型关联”声明&相关信息。
  2. 在激活处理程序中,您将看到偶数具有“Kind”参数。这将是文件启动的“文件”(来自资源管理器或其他地方)。您将在同一对象的“files”属性中获取文件。
  3. 完整详情为here。获得文件后,可以使用标准的Windows.Storage API来访问这些文件。

答案 2 :(得分:0)

  1. 在解决方案资源管理器中打开package.appxmanifest。
  2. 选择声明选项卡。
  3. 从下拉列表中选择文件类型关联,然后单击添加。
  4. 输入txt作为名称。
  5. 输入.txt作为文件类型。
  6. 输入“images \ Icon.png”作为徽标。
  7. 在应用包中添加适当的图标

    并且在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
    }