【发布时间】:2020-07-05 23:24:56
【问题描述】:
我的项目中有一个名为“Guides”的文件夹,并添加了“My Admin Guide.pdf”。
相关的xaml:
<TextBlock Margin="20,20,0,0" TextWrapping="Wrap">
<Hyperlink x:Name="Documentation_Hyperlink" NavigateUri="/Guides/My Admin Guide.pdf" TargetName="_blank" RequestNavigate="Documentation_Hyperlink_RequestNavigate">
Click Here for the Admin Guide
</Hyperlink>
</TextBlock>
在代码隐藏中:
private void DDI_Documentation_Hyperlink_RequestNavigate(object sender, RequestNavigateEventArgs e)
{
Process.Start(e.Uri.ToString());
}
当我测试时,我得到一个异常“系统找不到指定的文件”。我已验证 e.Uri.ToString() 的值为 /Guides/My Admin Guide.pdf。我该如何正确地做到这一点?
【问题讨论】:
-
您可能需要使用
ProcessStartInfo并将WorkingDirectory设置为可执行文件的目录。 -
使用 SysInternals Process Monitor 工具查看您的应用程序正在寻找的位置。我很确定@dourhigharch 是对的
-
我们需要知道您是如何“添加“我的管理员指南.pdf”的、您是如何进行测试的以及您的部署技术,以便告诉您如何以编程方式找到可执行文件的目录。跨度>
-
我通过将 PDF 放在文件夹中然后将“添加现有项目”添加到项目中来添加它们。我正在通过单击超链接进行测试,这给了我找不到文件的错误。