Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在我的Metro应用程序中从Windows资源管理器打开文件_C#_.net_Windows 8_Microsoft Metro - Fatal编程技术网

C# 在我的Metro应用程序中从Windows资源管理器打开文件

C# 在我的Metro应用程序中从Windows资源管理器打开文件,c#,.net,windows-8,microsoft-metro,C#,.net,Windows 8,Microsoft Metro,来自Windows窗体背景,我习惯于当用户试图从Windows资源管理器打开文本文件时,能够处理Program.cs文件中传递给我的应用程序的参数,以便我的应用程序可以向用户显示其内容 然而,在Metro风格的应用程序中,我们不再有Program.cs文件。我们有App.xaml或App.xaml.cs文件 似乎我找不到相关的文档,我可以试着用通常的方法,在App.xaml.cs文件中,但我甚至不确定这样做是否正确。我已经为我的Metro风格的应用程序添加了适当的功能和文件类型关联,但除此之外,

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

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

似乎我找不到相关的文档,我可以试着用通常的方法,在App.xaml.cs文件中,但我甚至不确定这样做是否正确。我已经为我的Metro风格的应用程序添加了适当的功能和文件类型关联,但除此之外,我不知道从哪里开始


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

查看如何处理文件激活@

查看如何处理文件激活@

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

在清单中声明文件扩展名。您可以通过在VS中从解决方案资源管理器中打开package.appxmanifest,转到“声明”选项卡,并添加文件类型关联声明和相关信息来完成此操作。 在激活处理程序中,您将看到偶数有一个种类参数。这将是从explorer或其他地方启动文件的文件。您将在同一对象的“文件”属性中获取文件。
详情请参阅。获得文件后,您可以使用标准的Windows.Storage API访问这些文件。

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

在清单中声明文件扩展名。您可以通过在VS中从解决方案资源管理器中打开package.appxmanifest,转到“声明”选项卡,并添加文件类型关联声明和相关信息来完成此操作。 在激活处理程序中,您将看到偶数有一个种类参数。这将是从explorer或其他地方启动文件的文件。您将在同一对象的“文件”属性中获取文件。 详情请参阅。获得文件后,可以使用标准的Windows.Storage API访问这些文件

在解决方案资源管理器中打开package.appxmanifest。 选择“声明”选项卡。 从下拉列表中选择文件类型关联,然后单击添加。 输入txt作为名称。 输入.txt作为文件类型。 输入“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
}
在解决方案资源管理器中打开package.appxmanifest。 选择“声明”选项卡。 从下拉列表中选择文件类型关联,然后单击添加。 输入txt作为名称。 输入.txt作为文件类型。 输入“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
}

我只想指出,我知道这是可能的,即使在Metro风格应用程序的当前限制下。我知道这一点,因为当我在Windows资源管理器中双击我的Metro风格应用程序支持的文件时,Windows会弹出一个小对话框,询问我是否要在Metro风格应用程序中打开此文件。唯一的问题是:我如何在我的代码中处理它,这样我才能真正获得文件信息?我想,我刚刚弄明白了。我很快就会发布一个答案。我只想指出,我知道这是可能的,即使在Metro风格应用程序的当前限制下。我知道这一点,因为当我在Windows资源管理器中双击我的Metro风格应用程序支持的文件时,Windows会弹出一个小对话框,询问我是否要在Metro风格应用程序中打开此文件。唯一的问题是:我如何在我的代码中处理它,这样我才能真正获得文件信息?我想,我刚刚弄明白了。我很快就会发布一个答案。这正是我刚刚发现的,感谢Intellisense lol。谢谢@Jeff!这正是我刚刚想出来的,感谢Intellisense lol。谢谢@Jeff!