Wpf 绑定DatagridHyperlinkColumn

Wpf 绑定DatagridHyperlinkColumn,wpf,xaml,hyperlink,Wpf,Xaml,Hyperlink,我正在尝试创建datagridHyperlink列,但无法获取已单击对象的id 我试过: <DataGridHyperlinkColumn Header="Nom" Width="170" Binding="{Binding MyObject.Name}" > <DataGridHyperlinkColumn.ElementStyle> <Style> <EventSet

我正在尝试创建datagridHyperlink列,但无法获取已单击对象的id

我试过:

<DataGridHyperlinkColumn Header="Nom" Width="170"
                         Binding="{Binding MyObject.Name}" >
   <DataGridHyperlinkColumn.ElementStyle>
      <Style>
        <EventSetter Event="Hyperlink.Click" Handler="Click" />
        <Setter Property="Hyperlink.Tag" Value="{Binding MyObject.Id}"/>
      </Style>
    </DataGridHyperlinkColumn.ElementStyle>
</DataGridHyperlinkColumn >
我的想法是将tag属性设置为对象的id,并能够管理事件和知道所单击对象的id

但它不起作用,可能是因为标记属性不是依赖属性?获得的标记始终为0

如何使用更好的解决方案获取对象的真实id

谢谢

无需依赖标记属性,您可以通过发送方对象的
获取它,在您的情况下,它将是

private void ClicJoueur(object sender, RoutedEventArgs e)
{
    int id = (((TextBlock)sender).DataContext as ClassName).MyObject.Id;
}

*用声明MyObject属性的基础类名替换ClassName。

非常感谢!我有另一个问题,我想绑定从我的对象中可以访问的属性。我已经做了:使用一个始终返回false的转换器,但我的超链接始终处于启用状态。请提出单独的问题,其中包含详细信息。所以,社区里的人可以帮你解决问题(没有人阅读评论中的问题)。现在,我不明白你的问题,你把它放在哪里,在什么条件下你希望它被禁用。请提出单独的问题,并在其中添加所有这些细节。
private void ClicJoueur(object sender, RoutedEventArgs e)
{
    int id = (((TextBlock)sender).DataContext as ClassName).MyObject.Id;
}