我创建了一个自定义面板控制,并想拥有但它响应鼠标移动事件,鼠标事件作出反应,当我添加事件处理程序,像这样:WPF自定义面板控制并不
Private Sub FloatingPanel_MouseMove(ByVal sender As Object,
ByVal e As MouseEventArgs) Handles Me.MouseMove
End Sub
只有当我将鼠标移动到面板中的某个子控件上时才会作出响应。无论何时将鼠标移动到自定义面板内的任何位置,我都需要让它响应。
更新: 我发现这给了我一个线索以下问题:
WPF - how to best implement a panel with draggable/zoomable children?
我可以上 GraphCanvas本身的鼠标事件,只有当它有一个 背景点
这使我简单地设置了似乎解决了问题的背景......我现在的问题是,为什么?为什么我必须设置背景才能收到mousemove事件?
更新2:下面的代码是最终解决了这个问题(见下文肯特的答案)。
Protected Overrides Function HitTestCore(ByVal hitTestParameters As System.Windows.Media.PointHitTestParameters) As System.Windows.Media.HitTestResult
Return New PointHitTestResult(Me, hitTestParameters.HitPoint)
End Function
谢谢 马特
谢谢!这是解决方案。作为参考,我在原始问题中包含了HitTestCore函数的覆盖。 –