我需要确定鼠标光标是否在给定的UIElement
. 即使将另一个元素放在其顶部,该方法也应该有效(因为它具有更大的 Zindex)。
我尝试使用 MouseEnter/Leave 事件,但如果元素不是最顶部的元素,则不会触发 mouseenter。
有任何想法吗?
我需要确定鼠标光标是否在给定的UIElement
. 即使将另一个元素放在其顶部,该方法也应该有效(因为它具有更大的 Zindex)。
我尝试使用 MouseEnter/Leave 事件,但如果元素不是最顶部的元素,则不会触发 mouseenter。
有任何想法吗?
您可以将VisualTreeHelper
类用于此功能。
void MouseMove(object sender, MouseEventArgs e)
{
Point p = e.GetPosition((UIElement)sender);
var elems = VisualTreeHelper.FindElementsInHostCoordinates(p, (UIElement)sender)
if (elems.Contains(theUIElementIamLookingFor))
{
//element is somewhere under the mouse
}
}