Compartir vía


IntersectionDetail Enumeración

Definición

Proporciona información sobre la intersección entre las geometrías de la GeometryHitTestParameters y el objeto visual al que se ha alcanzado.

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

Campos

Nombre Valor Description
NotCalculated 0

El IntersectionDetail valor no se calcula.

Empty 1

El Geometry parámetro de prueba de posicionamiento y el objeto visual de destino, o geometría, no se intersecan.

FullyInside 2

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

FullyContains 3

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

Intersects 4

El Geometry parámetro de prueba de posicionamiento y el objeto visual de destino, o geometry, intersect. Esto significa que los dos elementos se superponen, pero ninguno contiene el otro.

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 IntersecciónDetail usado en pruebas de posicionamiento Intersección entre geometría de prueba de posicionamiento y geometría visual durante las pruebas de posicionamiento

Se aplica a