VisualTreeHelper.HitTest Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar det översta Visual objektet i ett träfftest.
Överlagringar
| Name | Description |
|---|---|
| HitTest(Visual, Point) |
Returnerar det översta Visual objektet i ett träfftest genom att ange en Point. |
| HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) |
Initierar ett träfftest på den angivna Visual3D, med anroparen definierad HitTestFilterCallback och HitTestResultCallback metoder. |
| HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) |
Initierar ett träfftest på den angivna Visual, med anroparen definierad HitTestFilterCallback och HitTestResultCallback metoder. |
Kommentarer
De överlagrade metoderna som tar HitTestResultCallback och HitTestFilterCallback som parametrar ger ytterligare funktioner under träfftestningen:
Gör att du kan delta i kontrollen av det visuella trädets bläddering under träfftestningen.
Gör att du kan hämta alla visuella objekt under punkten eller geometrin, inte bara den översta.
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
Parametrar
- point
- Point
Det punktvärde som testet ska utföras mot.
Returer
Träfftestresultatet för Visual, som returnerades som en HitTestResult typ.
Exempel
I följande exempel visas hur du använder HitTest metoden för att testa objekten i en 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
Kommentarer
Egenskapen VisualHit för returvärdet representerar objektet Visual som träffades.
Note
Det är möjligt att ett träfftest som startar i ett 2D-visuellt träd returnerar RayHitTestResult, vilket är ett 3D-träfftestresultatobjekt. Träfftestning som startar i ett 2D-visuellt träd utökas sömlöst till alla definierade 3D-visuella träd.
Se även
Gäller för
HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)
Initierar ett träfftest på den angivna Visual3D, med anroparen definierad HitTestFilterCallback och HitTestResultCallback metoder.
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)
Parametrar
- filterCallback
- HitTestFilterCallback
Metoden som representerar återanropsvärdet för träfftestfiltret.
- resultCallback
- HitTestResultCallback
Metoden som representerar återanropsvärdet för träfftestresultatet.
- hitTestParameters
- HitTestParameters3D
Det 3D-parametervärde som testet ska utföras mot.
Kommentarer
Parametern filterCallback kan vara null, i vilket fall den ignoreras. Om filterCallback inte nullanropas det före resultCallback.
resultCallback kan inte vara null.
Note
Det är möjligt att ett träfftest som startar i ett 2D-visuellt träd returnerar RayHitTestResult, vilket är ett 3D-träfftestresultatobjekt. Träfftestning som startar i ett 2D-visuellt träd utökas sömlöst till alla definierade 3D-visuella träd.
Gäller för
HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)
Initierar ett träfftest på den angivna Visual, med anroparen definierad HitTestFilterCallback och HitTestResultCallback metoder.
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)
Parametrar
- filterCallback
- HitTestFilterCallback
Metoden som representerar återanropsvärdet för träfftestfiltret.
- resultCallback
- HitTestResultCallback
Metoden som representerar återanropsvärdet för träfftestresultatet.
- hitTestParameters
- HitTestParameters
Parametervärdet som testet ska utföras mot.
Exempel
I följande exempel visas hur du använder HitTest metoden för att testa objekten i en 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
Kommentarer
Parametern filterCallback kan vara null, i vilket fall den ignoreras. Om filterCallback inte nullanropas det före resultCallback.
resultCallback kan inte vara null.
Note
Det är möjligt att ett träfftest som startar i ett 2D-visuellt träd returnerar RayHitTestResult, vilket är ett 3D-träfftestresultatobjekt. Träfftestning som startar i ett 2D-visuellt träd utökas sömlöst till alla definierade 3D-visuella träd.