如何在XAML中创建链接以打开文本文件?文本文件目录与项目目录相同。
答案 0 :(得分:6)
试试这个:
<TextBlock>
<Hyperlink Click="openFile_Click">Open File</Hyperlink>
</TextBlock>
要获取当前的应用程序路径,您可以使用AppDomain.BaseDirectory请注意,AppDomain.BaseDirectory在路径末尾包含“\”。
var appPath = System.AppDomain.CurrentDomain.BaseDirectory;
并执行您的文件,您可以这样做:
private void openFile_Click(object sender, RoutedEventArgs e)
{
System.Diagnostics.Process.Start(appPath + "myFile.txt");
}
答案 1 :(得分:3)
<强> XAML 强>
<TextBlock>
<Hyperlink Click="Hyperlink_Click">Click Me..!!</Hyperlink>
</TextBlock>
代码
private void Hyperlink_Click(object sender, RoutedEventArgs e)
{
System.Diagnostics.Process.Start("filePath");
}
说文件名是ABC.txt
。
如果文件未复制到输出路径并在项目中作为资源添加,您可以给出这样的相对路径来打开文件(假设您的文件直接添加到项目下):
System.Diagnostics.Process.Start("..\\..\\ABC.txt");
如果将文件复制到输出路径,您可以直接提供文件名,因为默认情况下它会在输出路径中查找文件:
System.Diagnostics.Process.Start("ABC.txt");
答案 2 :(得分:2)
如果它是MVVM,那么在xaml中尝试以下代码
<TextBlock>
<Hyperlink Command="{Binding CommandPath}" CommandParameter="{Binding Path=RecordID}">
<TextBlock Text="Open File" />
</Hyperlink>
</TextBlock>
并在viewmodel中
public ICommand CommandPath { get { return new DelegateCommand(HyperlinkClick); } }
private void HyperlinkClick()
{
Process.Start(@"notepad.exe", @"C:\TEST_FILE.txt");
}