VisualTreeHelper.HitTest 메서드

정의

적중 횟수 테스트의 맨 위 Visual 개체를 반환합니다.

오버로드

HitTest(Visual, Point)

Point를 지정하여 적중 횟수 테스트의 최상위 Visual 개체를 반환합니다.

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

호출자 정의 HitTestFilterCallbackHitTestResultCallback 메서드를 사용하여 지정된 Visual3D에서 적중 횟수 테스트를 시작합니다.

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

호출자 정의 HitTestFilterCallbackHitTestResultCallback 메서드를 사용하여 지정된 Visual에서 적중 횟수 테스트를 시작합니다.

설명

매개 변수를 사용하고 HitTestResultCallback HitTestFilterCallback 매개 변수로 사용하는 오버로드된 메서드는 적중 테스트 중에 추가 기능을 제공합니다.

  • 적중 시에 시각적 트리 통과를 제어하는 데 참여할 수 있습니다.

  • 맨 위에 있는 시각적 개체뿐만 아니라 점이나 기하 도형에서 모든 시각적 개체를 검색할 수 있습니다.

HitTest(Visual, Point)

Point를 지정하여 적중 횟수 테스트의 최상위 Visual 개체를 반환합니다.

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
Public Shared Function HitTest (reference As Visual, point As Point) As HitTestResult

매개 변수

reference
Visual

적중 횟수 테스트에 대한 Visual입니다.

point
Point

적중 횟수 테스트에 대한 지점 값입니다.

반환

HitTestResult

HitTestResult 형식으로 반환된 Visual 적중 횟수 테스트 결과입니다.

예제

다음 예제에서는 메서드를 사용하여 HitTestCanvas의 개체를 적중 테스트하는 방법을 보여 있습니다.

// 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 나타냅니다.

참고

2D 시각적 트리에서 시작하는 적중 테스트가 3D 적중 테스트 결과 개체인 반환 RayHitTestResult될 수 있습니다. 2D 시각적 트리에서 시작하는 적중 테스트는 정의된 3D 시각적 트리로 원활하게 확장됩니다.

추가 정보

적용 대상

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

호출자 정의 HitTestFilterCallbackHitTestResultCallback 메서드를 사용하여 지정된 Visual3D에서 적중 횟수 테스트를 시작합니다.

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입니다.

filterCallback
HitTestFilterCallback

적중 횟수 테스트 필터 콜백 값을 나타내는 메서드입니다.

resultCallback
HitTestResultCallback

적중 횟수 테스트 결과 콜백 값을 나타내는 메서드입니다.

hitTestParameters
HitTestParameters3D

적중 테스트를 수행할 3차원 매개 변수 값입니다.

설명

매개 변수는 filterCallback 무시될 null수 있습니다. 그렇지 않은 null경우 filterCallback 앞에 resultCallback호출됩니다. resultCallbacknull이 될 수 없는 경우

참고

2D 시각적 트리에서 시작하는 적중 테스트가 3D 적중 테스트 결과 개체인 반환 RayHitTestResult될 수 있습니다. 2D 시각적 트리에서 시작하는 적중 테스트는 정의된 3D 시각적 트리로 원활하게 확장됩니다.

적용 대상

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

호출자 정의 HitTestFilterCallbackHitTestResultCallback 메서드를 사용하여 지정된 Visual에서 적중 횟수 테스트를 시작합니다.

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
Public Shared Sub HitTest (reference As Visual, filterCallback As HitTestFilterCallback, resultCallback As HitTestResultCallback, hitTestParameters As HitTestParameters)

매개 변수

reference
Visual

적중 횟수 테스트에 대한 Visual입니다.

filterCallback
HitTestFilterCallback

적중 횟수 테스트 필터 콜백 값을 나타내는 메서드입니다.

resultCallback
HitTestResultCallback

적중 횟수 테스트 결과 콜백 값을 나타내는 메서드입니다.

hitTestParameters
HitTestParameters

적중 횟수 테스트에 대한 매개 변수 값입니다.

예제

다음 예제에서는 메서드를 사용하여 HitTestCanvas의 개체를 적중 테스트하는 방법을 보여 있습니다.

// 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수 있습니다. 그렇지 않은 null경우 filterCallback 앞에 resultCallback호출됩니다. resultCallbacknull이 될 수 없는 경우

참고

2D 시각적 트리에서 시작하는 적중 테스트가 3D 적중 테스트 결과 개체인 반환 RayHitTestResult될 수 있습니다. 2D 시각적 트리에서 시작하는 적중 테스트는 정의된 3D 시각적 트리로 원활하게 확장됩니다.

추가 정보

적용 대상