C# WPF 将导航处理程序添加到 DataGridHyperlinkColumn

C# WPF add Navigation Handler to DataGridHyperlinkColumn

我在使用 WPF C# .NEt 4.5 应用程序时遇到问题。

我正在以编程方式在网格中创建 DataGridHyperlink列。

意味着 xaml 文件中几乎没有任何内容,而是由 .cs

直接创建的

我要实现的目标如下:

<DataGridHyperlinkColumn Header="Path" Binding="{Binding Path=FullPath}" ContentBinding="{Binding Path=Name}" IsReadOnly="True" Width="*">
   <DataGridHyperlinkColumn.ElementStyle>
      <Style>
         <EventSetter Event="Hyperlink.Click" Handler="hyperlink_Click"/>
      </Style>
   </DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn>

使用此代码,我可以使用 link 填充我的网格,单击后将激活我的 hyperlink_Click 功能。

现在,如果我通过代码执行此操作,结果如下:

        DataGridHyperlinkColumn parent = new DataGridHyperlinkColumn
        {
            Binding = new Binding("ParentName"),
        };

但现在我无法将 new RequestNavigateEventHandler(hyperlink_Click) 附加到每个 link 以填充我的网格。

目前我的网格中填充了 links,它们无法被点击。

感谢任何建议!

这相当于您的 XAML:

Style style = new Style();
style.Setters.Add(new EventSetter(Hyperlink.ClickEvent, new RoutedEventHandler(hyperlink_Click)));
DataGridHyperlinkColumn parent = new DataGridHyperlinkColumn
{
    Header = "Path",
    Binding = new Binding("FullPath"),
    ContentBinding = new Binding("Name"),
    IsReadOnly = true,
    ElementStyle = style
};