gpt4 book ai didi

wpf - 使用 WPF DataGridHyperLinkColumn 项打开 Windows 资源管理器并打开文件

转载 作者:行者123 更新时间:2023-12-02 04:26:29 25 4
gpt4 key购买 nike

我想实现以下目标:

创建一个包含 2 列的 WPF DataGrid:

第一个项目将以超链接样式显示目录路径。单击超链接将在该项目指定的路径中打开 Windows 资源管理器。

第二个项目将以超链接样式显示文件路径。单击超链接将启动该文件,并使用 Windows 定义的默认应用程序。

我不知道这是否是正确的选择,但我将 DataGridHyperlinkColumn 添加到了我的 DataGrid 中。一个问题是添加不引用 Internet 位置的 Uri 项目。另一个问题是以不打开网络浏览器的方式处理点击。

有人可以帮忙吗?

最佳答案

这普遍适用:

<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 浏览器打开;如果它是一个文件夹,它将在资源管理器中打开;如果它是一个文件,它将使用与其关联的默认应用程序打开。

<小时/>

要将其用于自动生成的列,您的属性需要为 Uri 类型,以便生成 DataGridHyperlinkColumn。然后,您可以通过将样式放置在 DataGrid.Resources 中来连接该事件:

<DataGrid.Resources>
<Style TargetType="Hyperlink">
<EventSetter Event="Click" Handler="DG_Hyperlink_Click"/>
</Style>
</DataGrid.Resources>

关于wpf - 使用 WPF DataGridHyperLinkColumn 项打开 Windows 资源管理器并打开文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5764951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com