Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale

Classe GeometryHitTestParameters

Specifica un oggetto Geometry come parametro da utilizzare per l'hit testing di una struttura ad albero visuale.

System.Object
  System.Windows.Media.HitTestParameters
    System.Windows.Media.GeometryHitTestParameters

Spazio dei nomi:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)

public class GeometryHitTestParameters : HitTestParameters

Il tipo GeometryHitTestParameters espone i seguenti membri.

  NomeDescrizione
Metodo pubblicoGeometryHitTestParametersConsente l'inizializzazione di una nuova istanza della classe GeometryHitTestParameters con il parametro Geometry specificato.
In alto

  NomeDescrizione
Proprietà pubblicaHitGeometryOttiene l'oggetto Geometry che definisce la geometria dell'hit test per l'istanza GeometryHitTestParameters.
In alto

  NomeDescrizione
Metodo pubblicoEquals(Object)Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protettoFinalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulizia prima che l'oggetto stesso venga reclamato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblicoGetHashCodeFunge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblicoGetType Ottiene il Type dell'istanza corrente. (Ereditato da Object)
Metodo protettoMemberwiseClone Crea una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblicoToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
In alto

Con la classe GeometryHitTestParameters è possibile utilizzare un valore Geometry per l'hit testing per determinare se un oggetto grafico interseca il valore Geometry.

È inoltre possibile eseguire l'hit test con un valore Point tramite la creazione di un oggetto PointHitTestParameters.

NotaNota

Per l'hit testing di Windows Presentation Foundation (WPF), durante un hit test viene considerata solo l'area piena di una geometria. Se si crea l'oggetto Geometry di un punto, l'hit test non determina alcuna intersezione perché un punto non dispone di un'area.

Nell'esempio seguente viene mostrato come impostare un hit test utilizzando GeometryHitTestParameters per il metodo HitTest. Il valore Point passato al metodo OnMouseDown viene utilizzato per creare un oggetto Geometry per poter espandere l'intervallo dell'hit test.


// Respond to the mouse button down event by setting up a hit test results callback.
private void OnMouseDown(object sender, MouseButtonEventArgs e)
{
    // Retrieve the coordinate of the mouse position.
    Point pt = e.GetPosition((UIElement)sender);

    // Expand the hit test area by creating a geometry centered on the hit test point.
    EllipseGeometry expandedHitTestArea = new EllipseGeometry(pt, 10.0, 10.0);

    // 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(myControl, null,
        new HitTestResultCallback(MyHitTestResultCallback),
        new GeometryHitTestParameters(expandedHitTestArea));

    // Perform actions on the hit test results list.
    if (hitResultsList.Count > 0)
    {
        ProcessHitTestResultsList();
    }
}


La proprietà IntersectionDetail di GeometryHitTestResult fornisce informazioni sui risultati di un hit test che utilizza Geometry come parametro. Di seguito è illustrata la relazione tra la geometria dell'hit test, ovvero il cerchio blu, e l'oggetto di destinazione, ovvero il quadrato rosso.

Intersezione tra la geometria dell'hit test e l'oggetto di destinazione

Diagramma di IntersectionDetail utilizzato nell'hit testing

.NET Framework

Supportato in: 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2014 Microsoft