我有一个Treeview,里面有很多项目。每个项目是在另一个控件中显示的3D对象的部件名称。我希望能够将鼠标移到项目上并识别我结束的项目。这样我就可以将项目ID传递给另一个控件,我可以突出显示该部分。
请注意,我已经可以使用click事件执行此操作,但我需要立即执行此操作。
如何在TreeView的Mousemove事件中执行此操作?
答案 0 :(得分:0)
你有“System.Windows.Input.Mouse”这个类可以为你提供一些信息,比如DirectlyOver
但它可以让你返回UIElement的顶层,所以TreeviewItSelf。
我认为另一个解决方案可能是相对于项目递归测试鼠标位置。
使用Mouse.GetPosition(UIELEMENT)如果位置返回在一个坐标中为负,或者在控件大小上方,则表示您不在控件的HitTestRectangle中。
您还可以在关于树视图(Mouse.GetPosition(TREEVIEW))的相对位置使用大小为1的矩形VisualTreeHelper.FindElementsInHostCoordinates,并在第二个参数中提供所有树视图本身。