在WPF中,如何获取与鼠标光标下方的树视图项关联的数据对象?

wil*_*lem 6 wpf treeview

在我的WPF应用程序中,我有一个树视图.此树视图绑定到自定义(即不是 TreeviewItems).所以我使用hierarchyDataTemplate来控制树的渲染方式.

当我的鼠标在树视图项上时,我想获得与树视图项关联的数据对象(即我的自定义类实例).我该怎么做呢?

澄清 - 我需要鼠标光标下的数据对象(不是UIElement).

假设我检索数据对象的方法具有以下签名:

private object GetObjectDataFromPoint(ItemsControl source, Point point)
{
    ...
}
Run Code Online (Sandbox Code Playgroud)

Ken*_*art 6

像这样(未经测试):

private object GetObjectDataFromPoint(ItemsControl source, Point point)
{
    //translate screen point to be relative to ItemsControl
    point = _itemsControl.TranslatePoint(point);
    //find the item at that point
    var item = _itemsControl.InputHitTest(point) as FrameworkElement;

    return item.DataContext;
}
Run Code Online (Sandbox Code Playgroud)