【发布时间】:2011-09-28 00:52:13
【问题描述】:
我创建了一个自定义面板控件,并希望它响应鼠标移动事件,但是,当我添加这样的事件处理程序时:
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:以下代码最终解决了问题(请参阅下面 Kent 的回答)。
Protected Overrides Function HitTestCore(ByVal hitTestParameters As System.Windows.Media.PointHitTestParameters) As System.Windows.Media.HitTestResult
Return New PointHitTestResult(Me, hitTestParameters.HitPoint)
End Function
谢谢你, 马特
【问题讨论】:
标签: wpf wpf-controls