IntersectionDetail Enumerazione
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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).
Intersezione tra geometria di hit test e geometria visiva durante il test di hit test