好的,Windows 8附带了一个很酷的PDF和XLS阅读器应用程序,名为Reader。当用户单击我的应用程序中的“帮助”按钮时,我有一个我想要显示的帮助文档。我的应用程序应该使用该文档类型的默认查看器启动PDF文档。
但它不会。没有错误,没有例外,设置断点显示没有信息。我的代码是:
<Button x:Name="help" Style="{StaticResource HelpAppBarButtonStyle}" Tag="Help" Click="help_Click_1" />
和
private async void help_Click_1(object sender, RoutedEventArgs e)
{
try
{
Windows.Storage.StorageFile file =
await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"\Assets\User Guide.pdf");
await Windows.System.Launcher.LaunchFileAsync(file);
}
catch (Exception exception)
{
Debug.WriteLine(exception.Message);
}
}
现在,在解决方案资源管理器中,有通常的文件和文件夹。我在根目录中也有一个Assets文件夹,PDF文档位于这个根文件夹中。
我不确定为什么这不起作用,但我相信它可能与我如何指向上述代码中的文件有关:
await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(@"\Assets\User Guide.pdf");
如何使用该文档类型的默认应用程序正确显示Assets文件夹中包含的文档?
答案 0 :(得分:2)
我测试了你的代码,在我开始工作之前我必须解决两个问题:
Build Action
设置为Content
。在我将该文件包含在项目中时,我的情况设置为None
。Package.Current.InstalledLocation.GetFileAsync(@"Assets\User Guide.pdf")
。在我更改了上述两个文件后,在我的默认PDF查看器中打开了该文件。但即使在此之前,也会出现异常,描述出现了什么问题,尽管我最初没有注意到它,因为你的静音尝试/捕获代码。
如果它仍然不适合您,则可能与您的机器配置有关。确保正确设置了pdf文件的默认查看器。