如何通过单击按钮直接打开文件?

时间:2019-10-13 12:54:44

标签: c# visual-studio uwp

我正在使用C#在VisualStudio上开发UWP应用。

我想知道如何在UWP上简单地打开文件。这些文件可以是Excel或Word文件。这些文件位于公共服务器上

我拥有的pméy解决方案是:

private void G_Tapped(object sender, TappedRoutedEventArgs e) { StreamReader reader = new StreamReader("C:/Users/Me/Desktop")};

但是它不允许我将路径链接到服务器(例如T:/ ...) (此外,我无法通过单击直接打开文件,我必须右键单击>“使用>打开”。否则,什么也不会发生)

所以我的问题是,我可以直接链接文件以直接打开它吗?如果可以,怎么办?

谢谢!

2 个答案:

答案 0 :(得分:0)

如果要打开文件类型的默认程序(例如,.docx for Word),则可以尝试将Launcher类与LaunchFileAsync方法一起使用。在WinRT上获取文件有些不同,您可以尝试注册您的应用以访问一些已知的文件夹(例如:下载,文档,视频等),或创建一个FileOpenPicker对话框以从文件系统中获取任何文件让用户选择要打开的文件。

答案 1 :(得分:0)

由于UWP文件访问权限限制,您不能直接从磁盘访问文件。有关文件访问权限的更多详细信息,您可以参考此document。如果要访问特定文件,则可以使用broadfilesystemaccess和openfilepicker。

关于broadfilesystemaccess,您需要添加 broadFileSystemAccess 功能,并允许您的应用访问“设置”中的文件系统。在这种情况下,您可以使用带有路径的Storagefile API从磁盘直接访问文件。

关于FileOpenPicker,它将打开一个类似于文件资源管理器的对话框,然后您可以从所需位置选择文件,然后在应用程序中使用它。

更新

如果您想通过单击按钮直接打开特定文件,则可以尝试使用LaunchFileAsync。有关LaunchFileAsync的更多详细信息,可以参考此document。另外,如果将excel或word文件直接放入项目中,则需要注意“默认情况下,appx包中不包含xlsx或docx文件(.txt,.jpg和.png是)”。因此,请在解决方案资源管理器中选择您的excel或word文件,查看以下属性中的“构建操作”,确保将其设置为“内容” 。在这种情况下,您可以启动文件。可以参考此case进行设置。