Classe VisualTreeHelper (System.Windows.Media)

Cambia visualizzazione:
ScriptFree
Riferimento a .NET Framework
Classe VisualTreeHelper
Il presente articolo è stato tradotto manualmente. Per visualizzare questa pagina e contemporaneamente visualizzarne il contenuto in lingua inglese, passare alla visualizzazione semplificata.

Fornisce metodi di utilità per l'esecuzione di attività comuni che interessano i nodi in una struttura ad albero visuale.

Gerarchia di ereditarietà

System.Object
  System.Windows.Media.VisualTreeHelper

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

Visual Basic
Public NotInheritable Class VisualTreeHelper
C#
public static class VisualTreeHelper
Visual C++
public ref class VisualTreeHelper abstract sealed
F#
[<AbstractClass>]
[<Sealed>]
type VisualTreeHelper =  class end

Il tipo VisualTreeHelper espone i seguenti membri.

Metodi

  Nome Descrizione
Metodo pubblico Membro statico GetBitmapEffect Restituisce il valore BitmapEffect per l'oggetto Visual specificato.
Metodo pubblico Membro statico GetBitmapEffectInput Restituisce il valore di BitmapEffectInput per l'oggetto Visual specificato.
Metodo pubblico Membro statico GetCacheMode Recupera la rappresentazione memorizzata nella cache dell'oggetto Visual specificato.
Metodo pubblico Membro statico GetChild Restituisce l'oggetto visivo figlio in base all'indice dell'insieme specificato all'interno di un determinato oggetto padre.
Metodo pubblico Membro statico GetChildrenCount Restituisce il numero di oggetti figlio contenuti nell'oggetto visivo specificato.
Metodo pubblico Membro statico GetClip Restituisce l'area di ridimensionamento dell'oggetto Visual specificato sotto forma di valore Geometry.
Metodo pubblico Membro statico GetContentBounds(Visual) Restituisce il rettangolo del riquadro delimitatore del testo memorizzato nella cache per l'oggetto Visual specificato.
Metodo pubblico Membro statico GetContentBounds(Visual3D) Restituisce il rettangolo del riquadro delimitatore del testo memorizzato nella cache per l'oggetto Visual3D specificato.
Metodo pubblico Membro statico GetDescendantBounds(Visual) Restituisce l'unione di tutti i riquadri delimitatori del contenuto per tutti i discendenti dell'oggetto Visual, incluso il riquadro delimitatore del contenuto dell'oggetto Visual.
Metodo pubblico Membro statico GetDescendantBounds(Visual3D) Restituisce l'unione di tutti i riquadri delimitatori del contenuto per tutti i discendenti dell'oggetto Visual3Dspecificato, incluso il riquadro delimitatore del contenuto dell'oggetto Visual3D.
Metodo pubblico Membro statico GetDrawing Restituisce il contenuto del disegno dell'oggetto Visual specificato.
Metodo pubblico Membro statico GetEdgeMode Restituisce la modalità di bordo dell'oggetto Visual specificato come valore EdgeMode.
Metodo pubblico Membro statico GetEffect Ottiene un effetto bitmap per l'istanza di Visual specificata.
Metodo pubblico Membro statico GetOffset Restituisce l'offset dell'oggetto Visual.
Metodo pubblico Membro statico GetOpacity Restituisce l'opacità dell'oggetto Visual.
Metodo pubblico Membro statico GetOpacityMask Restituisce un valore Brush che rappresenta la maschera di opacità dell'oggetto Visual.
Metodo pubblico Membro statico GetParent Restituisce un valore DependencyObject che rappresenta l'oggetto padre dell'oggetto visivo.
Metodo pubblico Membro statico GetTransform Restituisce un valore Transform per l'oggetto Visual.
Metodo pubblico Membro statico GetXSnappingGuidelines Restituisce un insieme di linee guida relativo alla coordinata X (verticale).
Metodo pubblico Membro statico GetYSnappingGuidelines Restituisce un insieme di linee guida relativo alla coordinata Y (orizzontale).
Metodo pubblico Membro statico HitTest(Visual, Point) Restituisce l'oggetto Visual in primo piano di un hit test specificando un oggetto Point.
Metodo pubblico Membro statico HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) Avvia un hit test sull'oggetto Visual specificato con i metodi HitTestFilterCallback e HitTestResultCallback definiti dal chiamante.
Metodo pubblico Membro statico HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) Avvia un hit test sull'oggetto Visual3D specificato con i metodi HitTestFilterCallback e HitTestResultCallback definiti dal chiamante.
In alto
Note

I nodi della struttura ad albero visuale possono essere oggetti Visual o Visual3D. I metodi specifici di un tipo di oggetto visivo sono tipizzati come Visual o Visual3D. Alcuni metodi disponibili nella classe VisualTreeHelper possono tuttavia accettare un valore DependencyObject che rappresenta entrambi i tipi di oggetto visivo.

WPF supporta l'accesso a livello di codice a più strutture ad albero degli oggetti. Un oggetto viene principalmente esposto come struttura ad albero visuale e albero logico. In alcuni casi l'albero logico costituisce una rappresentazione più utile degli elementi in un'applicazione WPF, ma concettualmente viene implementato a un livello superiore rispetto alla classe Visual. A differenza della struttura ad albero visuale, l'albero logico può rappresentare oggetti dati non visivi, ad esempio ListItem. Per ulteriori informazioni sull'albero logico, vedere Trees in WPF. L'albero logico è supportato inoltre da una classe di metodi di utilità simile, ovvero LogicalTreeHelper.

Esempi

Nell'esempio riportato di seguito viene illustrato come enumerare tutti i discendenti di un oggetto visivo. Si tratta di una tecnica che può risultare utile se si desidera serializzare tutte le informazioni di rendering relative a una gerarchia di oggetti visivi.

Visual Basic

		' Enumerate all the descendants of the visual object.
		Public Shared Sub EnumVisual(ByVal myVisual As Visual)
			For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(myVisual) - 1
				' Retrieve child visual at specified index value.
				Dim childVisual As Visual = CType(VisualTreeHelper.GetChild(myVisual, i), Visual)

				' Do processing of the child visual object.

				' Enumerate children of the child visual object.
				EnumVisual(childVisual)
			Next i
		End Sub


C#

// Enumerate all the descendants of the visual object.
static public void EnumVisual(Visual myVisual)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
    {
        // Retrieve child visual at specified index value.
        Visual childVisual = (Visual)VisualTreeHelper.GetChild(myVisual, i);

        // Do processing of the child visual object.

        // Enumerate children of the child visual object.
        EnumVisual(childVisual);
    }
}


Informazioni sulla versione

.NET Framework

Supportato in: 4, 3.5, 3.0

.NET Framework Client Profile

Supportato in: 4, 3.5 SP1
Piattaforme

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.
Codice thread safe

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

Riferimenti

Altre risorse