3

マウスカーソルが特定の の上にあるかどうかを判断する必要がありますUIElement。別の要素がその上に配置されていても、メソッドは機能するはずです (Zindex が大きいため)。

MouseEnter/Leave イベントを使用してみましたが、要素が最上位の要素でない場合、mouseenter はトリガーされません。

何か案は?

4

1 に答える 1

9

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
      }
 }
于 2009-11-13T13:57:16.450 に答える