Fornisce metodi di utilità per l'esecuzione di attività comuni che interessano i nodi in una struttura ad albero visuale.
System.Windows.Media.VisualTreeHelper
Spazio dei nomi: System.Windows.Media
Assembly: PresentationCore (in PresentationCore.dll)
Public NotInheritable Class VisualTreeHelper
public static class VisualTreeHelper
public ref class VisualTreeHelper abstract sealed
[<AbstractClass>] [<Sealed>] type VisualTreeHelper = class end
Il tipo VisualTreeHelper espone i seguenti membri.
| Nome | Descrizione | |
|---|---|---|
|
GetBitmapEffect | Restituisce il valore BitmapEffect per l'oggetto Visual specificato. |
|
GetBitmapEffectInput | Restituisce il valore di BitmapEffectInput per l'oggetto Visual specificato. |
|
GetCacheMode | Recupera la rappresentazione memorizzata nella cache dell'oggetto Visual specificato. |
|
GetChild | Restituisce l'oggetto visivo figlio in base all'indice dell'insieme specificato all'interno di un determinato oggetto padre. |
|
GetChildrenCount | Restituisce il numero di oggetti figlio contenuti nell'oggetto visivo specificato. |
|
GetClip | Restituisce l'area di ridimensionamento dell'oggetto Visual specificato sotto forma di valore Geometry. |
|
GetContentBounds(Visual) | Restituisce il rettangolo del riquadro delimitatore del testo memorizzato nella cache per l'oggetto Visual specificato. |
|
GetContentBounds(Visual3D) | Restituisce il rettangolo del riquadro delimitatore del testo memorizzato nella cache per l'oggetto Visual3D specificato. |
|
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. |
|
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. |
|
GetDrawing | Restituisce il contenuto del disegno dell'oggetto Visual specificato. |
|
GetEdgeMode | Restituisce la modalità di bordo dell'oggetto Visual specificato come valore EdgeMode. |
|
GetEffect | Ottiene un effetto bitmap per l'istanza di Visual specificata. |
|
GetOffset | Restituisce l'offset dell'oggetto Visual. |
|
GetOpacity | Restituisce l'opacità dell'oggetto Visual. |
|
GetOpacityMask | Restituisce un valore Brush che rappresenta la maschera di opacità dell'oggetto Visual. |
|
GetParent | Restituisce un valore DependencyObject che rappresenta l'oggetto padre dell'oggetto visivo. |
|
GetTransform | Restituisce un valore Transform per l'oggetto Visual. |
|
GetXSnappingGuidelines | Restituisce un insieme di linee guida relativo alla coordinata X (verticale). |
|
GetYSnappingGuidelines | Restituisce un insieme di linee guida relativo alla coordinata Y (orizzontale). |
|
HitTest(Visual, Point) | Restituisce l'oggetto Visual in primo piano di un hit test specificando un oggetto Point. |
|
HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) | Avvia un hit test sull'oggetto Visual specificato con i metodi HitTestFilterCallback e HitTestResultCallback definiti dal chiamante. |
|
HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) | Avvia un hit test sull'oggetto Visual3D specificato con i metodi HitTestFilterCallback e HitTestResultCallback definiti dal chiamante. |
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.
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.
' 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
// 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); } }
.NET Framework
Supportato in: 4, 3.5, 3.0.NET Framework Client Profile
Supportato in: 4, 3.5 SP1Windows 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.