在我的WPF应用程序中,我有一个树视图。此树视图绑定到自定义类(即不 TreeviewItems)。所以我使用hierarchicalDataTemplate来控制树的呈现方式。
当我的鼠标在树视图项上时,我想获得与树视图项关联的数据对象(即我的自定义类实例)。我该怎么做?
澄清 - 我需要鼠标光标下的数据对象(不是UIElement)。
假设我检索数据对象的方法具有以下签名:
private object GetObjectDataFromPoint(ItemsControl source, Point point)
{
...
}
答案 0 :(得分: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;
}
答案 1 :(得分:2)
private object GetObjectDataFromPoint(ItemsControl source, Point point)
{
//translate screen point to be relative to ItemsControl
point = source.TranslatePoint(point, source);
//find the item at that point
var item = source.InputHitTest(point) as FrameworkElement;
return item.DataContext;
}