我有一个 WPFParentUserControl
和一些ChildUserControlA
ChildUserControlB
等等(还有 WPF 控件)
s 是控件,其中ChildUserControl
包含一些其他基本元素(文本框、标签等)
在主窗体的状态栏中,我需要显示当前鼠标悬停的ChildUserControl的名称。
因此,在ParentUserControl的 MouseMove 中,我获得了一个对象myElement = Mouse.DirectlyOver
,因为我需要最上面的ChildUserControl,但我获得了一个 'System.Windows.Controls.TextBlock'(ChildUserControl 的一部分)......
如何解决?
当我将鼠标悬停在 MyChildControl 上时,我需要检测到 MyChildControl,而不是它的子元素。
按照这个顺序,我在 MyChildControl 上使用了以下内容:
Protected Overrides Function HitTestCore(
hitTestParameters As PointHitTestParameters) As HitTestResult
Return New PointHitTestResult(Me, hitTestParameters.HitPoint)
End Function
但无论如何我有时会得到文本块,有时会得到 ChildUserControl ......