识别TreeView项目鼠标在MouseMove事件中结束

时间:2015-08-26 08:33:46

标签: c# wpf treeview

我有一个Treeview,里面有很多项目。每个项目是在另一个控件中显示的3D对象的部件名称。我希望能够将鼠标移到项目上并识别我结束的项目。这样我就可以将项目ID传递给另一个控件,我可以突出显示该部分。

请注意,我已经可以使用click事件执行此操作,但我需要立即执行此操作。

如何在TreeView的Mousemove事件中执行此操作?

1 个答案:

答案 0 :(得分:0)

你有“System.Windows.Input.Mouse”这个类可以为你提供一些信息,比如DirectlyOver

但它可以让你返回UIElement的顶层,所以TreeviewItSelf。

我认为另一个解决方案可能是相对于项目递归测试鼠标位置。

使用Mouse.GetPosition(UIELEMENT)如果位置返回在一个坐标中为负,或者在控件大小上方,则表示您不在控件的HitTestRectangle中。

您还可以在关于树视图(Mouse.GetPosition(TREEVIEW))的相对位置使用大小为1的矩形VisualTreeHelper.FindElementsInHostCoordinates,并在第二个参数中提供所有树视图本身。

相关问题