如何在WPF中通过HitTesting获取带坐标/点的TreeViewItem?我试图在鼠标下获取TreeViewItem,但找不到方法。目前我正在使用这个:LayerGetItemAtLocation(Pointpoint){HitTestResultresult=VisualTreeHelper.HitTest(this,point);FrameworkElement元素=result.VisualHit作为FrameworkElement;if(element!=null)returnelement.DataContextasLayer;返回空值;}这种方法很有用,但不提供鼠标下的TreeViewItem。关于如何做到这一点的任何想法?你没有具体说明是什么导致你需要这个,那会有所帮助。这有点讨厌,但你可以这样做:IInputElementdropNode=tree.InputHitTest(point);这可能会给您一个TextBlock,因此您必须使用VisualTreeHelper.GetParent()来获取TextBlock、ContentPresenter、Border、Grid,最后是TreeViewItem。这当然不是最好的方法,但它应该有效。根据您的工作,MikeHillberg的博客提供了触发器的附加属性方法。参见此处查看他的示例,当鼠标悬停在TreeViewItem上时,他将其变为绿色。MyTreeViewHelper类跟踪MouseEnter/MouseLeave事件并提供可用于触发器和事物的良好属性,如上所述。我希望这有帮助。以上就是C#学习教程:WPF中Howtousecoordinates/pointstogetTreeViewItemthroughHitTesting?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
