Yon*_*oni 17 wpf datagrid uri hyperlink
我想实现以下目标:
创建一个包含2列的WPF DataGrid:
第一个将显示以超链接样式显示目录路径的项目.单击超链接将在项目指定的路径中打开Windows资源管理器.
第二个将显示以超链接样式显示文件路径的项目.单击超链接将启动该文件,并使用Windows定义的默认应用程序.
我不知道它是否是正确的选择,但我将DataGridHyperlinkColumn添加到我的DataGrid中.一个问题是添加不涉及互联网位置的Uri项目.另一个问题是以不打开Web浏览器的方式处理点击.
有人可以帮忙吗?
H.B*_*.B. 40
这普遍适用:
<DataGridHyperlinkColumn Binding="{Binding Link}">
<DataGridHyperlinkColumn.ElementStyle>
<Style>
<EventSetter Event="Hyperlink.Click" Handler="DG_Hyperlink_Click"/>
</Style>
</DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>
Run Code Online (Sandbox Code Playgroud)
private void DG_Hyperlink_Click(object sender, RoutedEventArgs e)
{
Hyperlink link = (Hyperlink)e.OriginalSource;
Process.Start(link.NavigateUri.AbsoluteUri);
}
Run Code Online (Sandbox Code Playgroud)
如果URI指向一个网站,它将使用默认的Web浏览器打开,如果它是一个文件夹,它将在资源管理器中打开,如果它是一个文件,它将使用与之关联的默认应用程序打开.
要将此用于自动生成的列,您的属性必须是类型,Uri
以便DataGridHyperlinkColumn
生成a.然后,您可以通过将样式放在以下内容来连接事件DataGrid.Resources
:
<DataGrid.Resources>
<Style TargetType="Hyperlink">
<EventSetter Event="Click" Handler="DG_Hyperlink_Click"/>
</Style>
</DataGrid.Resources>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25144 次 |
最近记录: |