我创建了一个Windows应用商店,我希望用户从应用中打开Documents,Excel文件和图片。我希望文件在他们的默认应用程序中打开。即Windows图片浏览器中的文字和图片文档。
我使用了以下代码:
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.FileTypeFilter.Add(".Doc");
openPicker.FileTypeFilter.Add(".Docx");
openPicker.FileTypeFilter.Add(".png");
openPicker.FileTypeFilter.Add(".jpg");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file!=null)
{
await Windows.System.Launcher.LaunchFileAsync(file);
}
当我运行它并浏览到word文档时,文件打开正常,使用word,很好。
但是如果我浏览图像文件,它就不会做任何事情。我没有收到任何错误。
任何想法我需要做什么?
由于
答案 0 :(得分:2)
没有错误,简单地说,没有任何反应?这很奇怪。
这是我的首选语法,但它基本上是你的:
让我们考虑应该发生什么。当你“启动”docx时,你基本上要求默认查看器为该文件打开,在这种情况下是Word。使用图像,您要求图像查看器启动。应该有用吗?是。
在未安装Word时启动docx不应导致您看到的行为。不会。系统会提示您在商店中查找查看器。与图像相同。即使没有观众,你也应该得到一些东西。
这里不是傻瓜,但你重新启动了吗?这听起来更像是发生了奇怪的事情。您也可以尝试将“file:///”附加到URL的前面,以便更明确地调用文件查看器。然而,这些都不是必需的。
祝你好运
答案 1 :(得分:1)
如果无法启动默认程序,则可以强制执行应用程序选择器:
if (file != null)
{
var options = new Windows.System.LauncherOptions();
options.DisplayApplicationPicker = true;
bool success = await Windows.System.Launcher.LaunchFileAsync(file, options);
}