如何从 listView 列 C# WPF 上的命中测试方法获取 DataContext

How to get DataContext from hit test method on listView column C# WPF

我尝试确定在我的 listView 上点击了哪个列的 header。

为此我添加了事件方法 previewMouseLeftButtonUp。

<ListView x:Name="offers_listView"  Margin="10,10,10,227" Height="500" HorizontalContentAlignment="Center" PreviewMouseLeftButtonUp="offers_listView_PreviewMouseLeftButtonUp">

实现如下:

    private void offers_listView_PreviewMouseLeftButtonUp(object sender, MouseButtonEventArgs e)
    {
        var point = Mouse.GetPosition(offers_listView);

        var hit = offers_listView.InputHitTest(point);

        offers_listView.IsHitTestVisible = true;


        //if(hit.DataContext == "")
        //{

        //}

    }

所以我想要的是列的名称,并且在调试模式下我找到了它:

问题是在编码模式下我无法获得 属性 DataContext,您可能会在下面的屏幕上看到:

我的问题是如何以其他方式获取此信息,或者如何激活 DataContext 属性 以在此刻发挥作用?

提前致谢,问候

hit 派生自 FrameworkElement 因为它是被命中的 UIElement,调试器识别它。如果你想访问 属性 DataContext 你必须将 hit 转换为 FrameWorkElement.

示例:

object dataContext = (hit as FrameworkElement).DataContext;