VisualTreeHelper.HitTest VisualTreeHelper.HitTest VisualTreeHelper.HitTest VisualTreeHelper.HitTest Method

定義

ヒット テストの最上位の Visual オブジェクトを返します。Returns the topmost Visual object of a hit test.

オーバーロード

HitTest(Visual, Point) HitTest(Visual, Point) HitTest(Visual, Point)

Point を指定して、ヒット テストの最上位の Visual オブジェクトを返します。Returns the topmost Visual object of a hit test by specifying a Point.

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

呼び出し元が定義した HitTestFilterCallback メソッドと HitTestResultCallback メソッドを使って、指定した Visual3D に対してヒット テストを開始します。Initiates a hit test on the specified Visual3D, with caller-defined HitTestFilterCallback and HitTestResultCallback methods.

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

呼び出し元が定義した HitTestFilterCallback メソッドと HitTestResultCallback メソッドを使って、指定した Visual に対してヒット テストを開始します。Initiates a hit test on the specified Visual, with caller-defined HitTestFilterCallback and HitTestResultCallback methods.

注釈

受け取るオーバー ロードされたメソッドHitTestResultCallbackHitTestFilterCallbackパラメーターは、ヒット テスト中に追加の機能を提供します。The overloaded methods that take HitTestResultCallback and HitTestFilterCallback as parameters provide additional functionality during hit testing:

  • ヒット テスト中のビジュアル ツリーの走査の制御に参加できます。Allow you to participate in controlling the visual tree traversal during hit testing.

  • すべてのポイントまたはジオメトリ、最上位の 1 つだけでなく ビジュアルを取得できます。Allow you to retrieve all of the visuals under the point or geometry, not just the topmost one.

HitTest(Visual, Point) HitTest(Visual, Point) HitTest(Visual, Point)

Point を指定して、ヒット テストの最上位の Visual オブジェクトを返します。Returns the topmost Visual object of a hit test by specifying a Point.

public:
 static System::Windows::Media::HitTestResult ^ HitTest(System::Windows::Media::Visual ^ reference, System::Windows::Point point);
public static System.Windows.Media.HitTestResult HitTest (System.Windows.Media.Visual reference, System.Windows.Point point);
static member HitTest : System.Windows.Media.Visual * System.Windows.Point -> System.Windows.Media.HitTestResult

パラメーター

reference
Visual Visual Visual Visual

ヒット テストを行う対象の VisualThe Visual to hit test.

point
Point Point Point Point

ヒット テストの対象にするポイント値。The point value to hit test against.

戻り値

HitTestResult 型として返される Visual のヒット テスト結果。The hit test result of the Visual, returned as a HitTestResult type.

次の例は、使用する方法を示します、HitTestメソッドをヒット テスト内のオブジェクト、Canvasします。The following example shows how to use the HitTest method to hit test the objects within a Canvas.

// Respond to the left mouse button down event by initiating the hit test.
private void OnMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
{
    // Retrieve the coordinate of the mouse position.
    Point pt = e.GetPosition((UIElement)sender);

    // Perform the hit test against a given portion of the visual object tree.
    HitTestResult result = VisualTreeHelper.HitTest(myCanvas, pt);

    if (result != null)
    {
        // Perform action on hit visual object.
    }
}
' Respond to the left mouse button down event by initiating the hit test.
Private Overloads Sub OnMouseLeftButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
	' Retrieve the coordinate of the mouse position.
	Dim pt As Point = e.GetPosition(CType(sender, UIElement))

	' Perform the hit test against a given portion of the visual object tree.
	Dim result As HitTestResult = VisualTreeHelper.HitTest(myCanvas, pt)

	If result IsNot Nothing Then
		' Perform action on hit visual object.
	End If
End Sub

注釈

VisualHit戻り値のプロパティを表す、Visualヒットしたオブジェクト。The VisualHit property of the return value represents the Visual object that was hit.

注意

ヒット テストを返す場合は、2 D ビジュアル ツリー内を開始する可能性がありますRayHitTestResult、これは、3 D ヒット テストの結果オブジェクト。It is possible for a hit test that starts in a 2D visual tree to return RayHitTestResult, which is a 3D hit test result object. ヒット 2D のビジュアル ツリー内の開始が、定義されている 3D ビジュアル ツリーにシームレスに拡張することをテストします。Hit testing that starts in a 2D visual tree seamlessly extends into any defined 3D visual tree.

こちらもご覧ください

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

呼び出し元が定義した HitTestFilterCallback メソッドと HitTestResultCallback メソッドを使って、指定した Visual3D に対してヒット テストを開始します。Initiates a hit test on the specified Visual3D, with caller-defined HitTestFilterCallback and HitTestResultCallback methods.

public:
 static void HitTest(System::Windows::Media::Media3D::Visual3D ^ reference, System::Windows::Media::HitTestFilterCallback ^ filterCallback, System::Windows::Media::HitTestResultCallback ^ resultCallback, System::Windows::Media::Media3D::HitTestParameters3D ^ hitTestParameters);
public static void HitTest (System.Windows.Media.Media3D.Visual3D reference, System.Windows.Media.HitTestFilterCallback filterCallback, System.Windows.Media.HitTestResultCallback resultCallback, System.Windows.Media.Media3D.HitTestParameters3D hitTestParameters);
static member HitTest : System.Windows.Media.Media3D.Visual3D * System.Windows.Media.HitTestFilterCallback * System.Windows.Media.HitTestResultCallback * System.Windows.Media.Media3D.HitTestParameters3D -> unit
Public Shared Sub HitTest (reference As Visual3D, filterCallback As HitTestFilterCallback, resultCallback As HitTestResultCallback, hitTestParameters As HitTestParameters3D)

パラメーター

reference
Visual3D Visual3D Visual3D Visual3D

ヒット テストを行う対象の Visual3DThe Visual3D to hit test.

filterCallback
HitTestFilterCallback HitTestFilterCallback HitTestFilterCallback HitTestFilterCallback

ヒット テスト フィルターのコールバック値を表すメソッド。The method that represents the hit test filter callback value.

resultCallback
HitTestResultCallback HitTestResultCallback HitTestResultCallback HitTestResultCallback

ヒット テスト結果のコールバック値を表すメソッド。The method that represents the hit test result callback value.

hitTestParameters
HitTestParameters3D HitTestParameters3D HitTestParameters3D HitTestParameters3D

ヒット テストの対象にする 3D パラメーター値。The 3D parameter value to hit test against.

注釈

filterCallbackパラメーターを指定できますnull、この例では無視されます。The filterCallback parameter can be null, in which case, it is ignored. 場合filterCallbackないnull、呼び出す前に呼び出すresultCallbackします。If filterCallback is not null, it is invoked before resultCallback. resultCallback として null を使用することはできません。resultCallback cannot be null.

注意

ヒット テストを返す場合は、2 D ビジュアル ツリー内を開始する可能性がありますRayHitTestResult、これは、3 D ヒット テストの結果オブジェクト。It is possible for a hit test that starts in a 2D visual tree to return RayHitTestResult, which is a 3D hit test result object. ヒット 2D のビジュアル ツリー内の開始が、定義されている 3D ビジュアル ツリーにシームレスに拡張することをテストします。Hit testing that starts in a 2D visual tree seamlessly extends into any defined 3D visual tree.

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

呼び出し元が定義した HitTestFilterCallback メソッドと HitTestResultCallback メソッドを使って、指定した Visual に対してヒット テストを開始します。Initiates a hit test on the specified Visual, with caller-defined HitTestFilterCallback and HitTestResultCallback methods.

public:
 static void HitTest(System::Windows::Media::Visual ^ reference, System::Windows::Media::HitTestFilterCallback ^ filterCallback, System::Windows::Media::HitTestResultCallback ^ resultCallback, System::Windows::Media::HitTestParameters ^ hitTestParameters);
public static void HitTest (System.Windows.Media.Visual reference, System.Windows.Media.HitTestFilterCallback filterCallback, System.Windows.Media.HitTestResultCallback resultCallback, System.Windows.Media.HitTestParameters hitTestParameters);
static member HitTest : System.Windows.Media.Visual * System.Windows.Media.HitTestFilterCallback * System.Windows.Media.HitTestResultCallback * System.Windows.Media.HitTestParameters -> unit

パラメーター

reference
Visual Visual Visual Visual

ヒット テストを行う対象の VisualThe Visual to hit test.

filterCallback
HitTestFilterCallback HitTestFilterCallback HitTestFilterCallback HitTestFilterCallback

ヒット テスト フィルターのコールバック値を表すメソッド。The method that represents the hit test filter callback value.

resultCallback
HitTestResultCallback HitTestResultCallback HitTestResultCallback HitTestResultCallback

ヒット テスト結果のコールバック値を表すメソッド。The method that represents the hit test result callback value.

hitTestParameters
HitTestParameters HitTestParameters HitTestParameters HitTestParameters

ヒット テストの対象にするパラメーター値。The parameter value to hit test against.

次の例は、使用する方法を示します、HitTestメソッドをヒット テスト内のオブジェクト、Canvasします。The following example shows how to use the HitTest method to hit test the objects within a Canvas.

// Respond to the right mouse button down event by setting up a hit test results callback.
private void OnMouseRightButtonDown(object sender, MouseButtonEventArgs e)
{
    // Retrieve the coordinate of the mouse position.
    Point pt = e.GetPosition((UIElement)sender);

    // Clear the contents of the list used for hit test results.
    hitResultsList.Clear();

    // Set up a callback to receive the hit test result enumeration.
    VisualTreeHelper.HitTest(myCanvas, null,
        new HitTestResultCallback(MyHitTestResult),
        new PointHitTestParameters(pt));

    // Perform actions on the hit test results list.
    if (hitResultsList.Count > 0)
    {
        Console.WriteLine("Number of Visuals Hit: " + hitResultsList.Count);
    }
}
' Respond to the right mouse button down event by setting up a hit test results callback.
Private Overloads Sub OnMouseRightButtonDown(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
	' Retrieve the coordinate of the mouse position.
	Dim pt As Point = e.GetPosition(CType(sender, UIElement))

	' Clear the contents of the list used for hit test results.
	hitResultsList.Clear()

	' Set up a callback to receive the hit test result enumeration.
	VisualTreeHelper.HitTest(myCanvas, Nothing, New HitTestResultCallback(AddressOf MyHitTestResult), New PointHitTestParameters(pt))

	' Perform actions on the hit test results list.
	If hitResultsList.Count > 0 Then
		Console.WriteLine("Number of Visuals Hit: " & hitResultsList.Count)
	End If
End Sub
// Return the result of the hit test to the callback.
public HitTestResultBehavior MyHitTestResult(HitTestResult result)
{
    // Add the hit test result to the list that will be processed after the enumeration.
    hitResultsList.Add(result.VisualHit);

    // Set the behavior to return visuals at all z-order levels.
    return HitTestResultBehavior.Continue;
}
' Return the result of the hit test to the callback.
Public Function MyHitTestResult(ByVal result As HitTestResult) As HitTestResultBehavior
	' Add the hit test result to the list that will be processed after the enumeration.
	hitResultsList.Add(result.VisualHit)

	' Set the behavior to return visuals at all z-order levels.
	Return HitTestResultBehavior.Continue
End Function

注釈

filterCallbackパラメーターを指定できますnull、後者は無視されます。The filterCallback parameter can be null, in which case it is ignored. 場合filterCallbackないnull、呼び出す前に呼び出すresultCallbackします。If filterCallback is not null, it is invoked before resultCallback. resultCallback として null を使用することはできません。resultCallback cannot be null.

注意

ヒット テストを返す場合は、2 D ビジュアル ツリー内を開始する可能性がありますRayHitTestResult、これは、3 D ヒット テストの結果オブジェクト。It is possible for a hit test that starts in a 2D visual tree to return RayHitTestResult, which is a 3D hit test result object. ヒット 2D のビジュアル ツリー内の開始が、定義されている 3D ビジュアル ツリーにシームレスに拡張することをテストします。Hit testing that starts in a 2D visual tree seamlessly extends into any defined 3D visual tree.

こちらもご覧ください

適用対象