使用元素 WPF DataGridHyperLinkColumn 开放 Windows Explorer 并打开文件

我想实现以下内容:

创建 WPF DataGrid, 其中有 2 柱子:

第一个将包含以超链接风格显示有关目录的方法的元素。 单击超链接打开 Windows Explorer 在元素指定的路径中。

在第二个中,将有元素以超链接的样式显示文件的方法。 单击超链接将启动文件,其中默认应用程序定义 Windows.

我不知道这个选择是否正确,但我补充道 DataGridHyperlinkColumn 对我的 DataGrid. 其中一个问题是添加 Uri 不属于Internet的位置的元素。 另一个问题是以不打开Web浏览器的方式处理点击次问题。

有人可以帮忙吗?
已邀请:

郭文康

赞同来自:

它到处都是:


<datagridhyperlinkcolumn binding="{Binding Link}">
<datagridhyperlinkcolumn.elementstyle>
<style>
<EventSetter Event="Hyperlink.Click" Handler="DG_Hyperlink_Click"/>
</style>
</datagridhyperlinkcolumn.elementstyle>
</datagridhyperlinkcolumn>



private void DG_Hyperlink_Click/object sender, RoutedEventArgs e/
{
Hyperlink link = /Hyperlink/e.OriginalSource;
Process.Start/link.NavigateUri.AbsoluteUri/;
}


如果一个 URI 指定网站,如果它是文件夹,它将使用默认的Web浏览器打开,它将在开放中 explorer, 如果这是一个文件,它将使用与它关联的默认应用程序打开。

要将其用于自动生成的列,您的属性必须具有类型
Uri

, 因此,生成
DataGridHyperlinkColumn

. 然后您可以通过放入样式来连接事件
DataGrid.Resources

:


<datagrid.resources>
<style targettype="Hyperlink">
<EventSetter Event="Click" Handler="DG_Hyperlink_Click"/>
</style>
</datagrid.resources>

要回复问题请先登录注册