1

あるユーザー コントロールと別のユーザー コントロールの間でヒット テストを機能させようとしています。私は他の質問を見ていましたが、これをユーザーコントロールに入れる必要があることがわかりました。

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))

この 3 番目の返信に基づいて回答しました。 WPF の VisualTreeHelper.HitTest の問題

彼はこれでどういう意味ですか

ジオメトリに対してヒット テストを行う場合は、その 2 番目のオーバーロードもオーバーライドする必要があります

4

1 に答える 1

2

引数付きのHitTestCoreの他に、引​​数付きPointHitTestParametersの 2 番目のメソッドHitTestCoreがありGeometryHitTestParametersます。

この 2 番目のものは、ジオメトリに対してヒット テストを行っているときに呼び出されます。

于 2012-05-03T13:59:21.650 に答える