在XAML中创建指向文本文件的链接

时间:2014-04-14 18:35:59

标签: wpf xaml

如何在XAML中创建链接以打开文本文件?文本文件目录与项目目录相同。

3 个答案:

答案 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");
}