【发布时间】:2012-05-03 12:33:10
【问题描述】:
我正在尝试在一个用户控件和另一个用户控件之间进行命中测试。 我在看其他问题,发现我必须把它放在我的用户控制中。
Protected Overrides Function HitTestCore(hitTestParameters As System.Windows.Media.PointHitTestParameters) As System.Windows.Media.HitTestResult
Return New PointHitTestResult(Me, hitTestParameters.HitPoint)
End Function
我还有一个过滤器,它可以正确显示我想要命中测试的控件,但 htcallback 不工作。
因为我无法使用我的用户控件进行命中测试,所以我在同一个位置制作了一个矩形并在命中测试中使用它。这似乎不起作用。
Dim hitTestGeometry = New RectangleGeometry()
hitTestGeometry.Rect = New Rect(_selected.breedte, _selected.hoogte, Canvas.GetLeft(_selected), Canvas.GetTop(_selected))
Dim pt As New Point
VisualTreeHelper.HitTest(WorkFlowCanvas, New HitTestFilterCallback(AddressOf wcFilter), New HitTestResultCallback(AddressOf verplaatsing), New GeometryHitTestParameters(hitTestGeometry))
我的回答基于第三个回复。 Problem with VisualTreeHelper.HitTest in WPF
这是什么意思
如果你想对几何图形进行命中测试,你还需要覆盖第二个重载
【问题讨论】: