VisualTreeHelper.HitTest 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
적중 횟수 테스트의 맨 위 Visual 개체를 반환합니다.
오버로드
HitTest(Visual, Point) | |
HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) |
호출자 정의 HitTestFilterCallback 및 HitTestResultCallback 메서드를 사용하여 지정된 Visual3D에서 적중 횟수 테스트를 시작합니다. |
HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) |
호출자 정의 HitTestFilterCallback 및 HitTestResultCallback 메서드를 사용하여 지정된 Visual에서 적중 횟수 테스트를 시작합니다. |
설명
매개 변수를 사용하고 HitTestResultCallback HitTestFilterCallback 매개 변수로 사용하는 오버로드된 메서드는 적중 테스트 중에 추가 기능을 제공합니다.
적중 시에 시각적 트리 통과를 제어하는 데 참여할 수 있습니다.
맨 위에 있는 시각적 개체뿐만 아니라 점이나 기하 도형에서 모든 시각적 개체를 검색할 수 있습니다.
HitTest(Visual, 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
Public Shared Function HitTest (reference As Visual, point As Point) As HitTestResult
매개 변수
- point
- Point
적중 횟수 테스트에 대한 지점 값입니다.
반환
HitTestResult 형식으로 반환된 Visual 적중 횟수 테스트 결과입니다.
예제
다음 예제에서는 메서드를 사용하여 HitTest 내 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 나타냅니다.
참고
2D 시각적 트리에서 시작하는 적중 테스트가 3D 적중 테스트 결과 개체인 반환 RayHitTestResult될 수 있습니다. 2D 시각적 트리에서 시작하는 적중 테스트는 정의된 3D 시각적 트리로 원활하게 확장됩니다.
추가 정보
적용 대상
HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)
호출자 정의 HitTestFilterCallback 및 HitTestResultCallback 메서드를 사용하여 지정된 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)
매개 변수
- filterCallback
- HitTestFilterCallback
적중 횟수 테스트 필터 콜백 값을 나타내는 메서드입니다.
- resultCallback
- HitTestResultCallback
적중 횟수 테스트 결과 콜백 값을 나타내는 메서드입니다.
- hitTestParameters
- HitTestParameters3D
적중 테스트를 수행할 3차원 매개 변수 값입니다.
설명
매개 변수는 filterCallback
무시될 null
수 있습니다. 그렇지 않은 null
경우 filterCallback
앞에 resultCallback
호출됩니다. resultCallback
가 null
이 될 수 없는 경우
참고
2D 시각적 트리에서 시작하는 적중 테스트가 3D 적중 테스트 결과 개체인 반환 RayHitTestResult될 수 있습니다. 2D 시각적 트리에서 시작하는 적중 테스트는 정의된 3D 시각적 트리로 원활하게 확장됩니다.
적용 대상
HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)
호출자 정의 HitTestFilterCallback 및 HitTestResultCallback 메서드를 사용하여 지정된 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)
매개 변수
- filterCallback
- HitTestFilterCallback
적중 횟수 테스트 필터 콜백 값을 나타내는 메서드입니다.
- resultCallback
- HitTestResultCallback
적중 횟수 테스트 결과 콜백 값을 나타내는 메서드입니다.
- hitTestParameters
- HitTestParameters
적중 횟수 테스트에 대한 매개 변수 값입니다.
예제
다음 예제에서는 메서드를 사용하여 HitTest 내 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
수 있습니다. 그렇지 않은 null
경우 filterCallback
앞에 resultCallback
호출됩니다. resultCallback
가 null
이 될 수 없는 경우
참고
2D 시각적 트리에서 시작하는 적중 테스트가 3D 적중 테스트 결과 개체인 반환 RayHitTestResult될 수 있습니다. 2D 시각적 트리에서 시작하는 적중 테스트는 정의된 3D 시각적 트리로 원활하게 확장됩니다.