IntersectionDetail Enumeración

Definición

Proporciona información sobre la intersección entre las geometrías de GeometryHitTestParameters y del objeto visual al que se obtuvo acceso.

public enum class IntersectionDetail
public enum IntersectionDetail
type IntersectionDetail = 
Public Enum IntersectionDetail
Herencia
IntersectionDetail

Campos

Empty 1

El parámetro de la prueba de posicionamiento Geometry y el objeto visual de destino, o geometría, no forman una intersección.

FullyContains 3

El parámetro de la prueba de posicionamiento Geometry se encuentra totalmente dentro del límite del objeto visual de destino o geometría.

FullyInside 2

El objeto visual de destino o geometría está totalmente dentro del parámetro de la prueba de posicionamiento Geometry.

Intersects 4

El parámetro de la prueba de posicionamiento Geometry y el objeto visual de destino, o geometría, forman una intersección. Esto significa que los dos elementos están superpuestos sin que ninguno de los dos contenga el otro.

NotCalculated 0

El valor de IntersectionDetail no se calcula.

Ejemplos

En el ejemplo siguiente se muestra cómo usar la IntersectionDetail propiedad de GeometryHitTestResult.

// Return the result of the hit test to the callback.
public HitTestResultBehavior MyHitTestResultCallback(HitTestResult result)
{
    // Retrieve the results of the hit test.
    IntersectionDetail intersectionDetail = ((GeometryHitTestResult)result).IntersectionDetail;

    switch (intersectionDetail)
    {
        case IntersectionDetail.FullyContains:

            // Add the hit test result to the list that will be processed after the enumeration.
            hitResultsList.Add(result.VisualHit);

            return HitTestResultBehavior.Continue;

        case IntersectionDetail.Intersects:

            // Set the behavior to return visuals at all z-order levels.
            return HitTestResultBehavior.Continue;

        case IntersectionDetail.FullyInside:

            // Set the behavior to return visuals at all z-order levels.
            return HitTestResultBehavior.Continue;

        default:
            return HitTestResultBehavior.Stop;
    }
}
' Return the result of the hit test to the callback.
Public Function MyHitTestResultCallback(ByVal result As HitTestResult) As HitTestResultBehavior
    ' Retrieve the results of the hit test.
    Dim intersectionDetail As IntersectionDetail = (CType(result, GeometryHitTestResult)).IntersectionDetail

    Select Case intersectionDetail
        Case IntersectionDetail.FullyContains

            ' Add the hit test result to the list that will be processed after the enumeration.
            hitResultsList.Add(result.VisualHit)

            Return HitTestResultBehavior.Continue

        Case IntersectionDetail.Intersects

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

        Case IntersectionDetail.FullyInside

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

        Case Else
            Return HitTestResultBehavior.Stop
    End Select
End Function

Comentarios

En la ilustración siguiente se muestra la relación entre la geometría de la prueba de posicionamiento (el círculo azul) y la geometría visual (el cuadrado rojo).

Diagrama de IntersectionDetail usado en la prueba de posicionamiento
Intersección entre geometría de prueba de posicionamiento y geometría visual durante las pruebas de posicionamiento

Se aplica a