我试图使命中测试在一个用户控件和另一个用户控件之间工作。我在看其他的问题,发现我必须把这个放在我的用户控件中。
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))我的答案是基于这第三个答复。WPF中的VisualTreeHelper.HitTest问题
他说这是什么意思
如果您想要针对几何学进行测试,您也需要覆盖第二个重载。
发布于 2012-05-03 13:59:21
除了带有HitTestCore参数的PointHitTestParameters参数之外,还有第二个带有GeometryHitTestParameters参数的方法HitTestCore。
这第二个被称为当你被击中-测试一个几何。
https://stackoverflow.com/questions/10431465
复制相似问题