IntersectionDetail Enumerazione

Definizione

Fornisce informazioni sull'intersezione tra le geometrie nell'oggetto GeometryHitTestParameters nonché sull'oggetto visivo raggiunto.

public enum class IntersectionDetail
public enum IntersectionDetail
type IntersectionDetail = 
Public Enum IntersectionDetail
Ereditarietà
IntersectionDetail

Campi

Empty 1

Il parametro di hit test dell'oggetto Geometry non interseca l'oggetto visivo, ovvero la geometria, di destinazione.

FullyContains 3

Il parametro di hit test dell'oggetto Geometry è completamente compreso entro i limiti dell'oggetto visivo o geometria di destinazione.

FullyInside 2

L'oggetto visivo, ovvero la geometria, di destinazione si trova completamente all'interno del parametro di hit test dell'oggetto Geometry.

Intersects 4

Il parametro di hit test dell'oggetto Geometry interseca l'oggetto visivo, ovvero la geometria, di destinazione. Ciò significa che i due elementi si sovrappongono ma nessuno dei due contiene l'altro.

NotCalculated 0

Il valore di IntersectionDetail non viene calcolato.

Esempio

Nell'esempio seguente viene illustrato come usare la IntersectionDetail proprietà di 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

Commenti

Nella figura seguente viene illustrata la relazione tra la geometria di hit test (il cerchio blu) e la geometria visiva (quadrato rosso).

Diagramma di IntersectionDetail usato nell'hit testing
Intersezione tra geometria di hit test e geometria visiva durante il test di hit test

Si applica a