Condividi tramite


VisualTreeHelper Classe

Definizione

Implementa metodi di utilità che eseguono attività comuni che interessano i nodi in un struttura ad albero visuale.

public ref class VisualTreeHelper abstract sealed
public static class VisualTreeHelper
type VisualTreeHelper = class
Public Class VisualTreeHelper
Ereditarietà
VisualTreeHelper

Esempio

L'esempio seguente illustra come enumerare tutti i discendenti di un oggetto visivo. Si tratta di una tecnica da usare se si desidera serializzare tutte le informazioni di rendering di una gerarchia di oggetti visivi.

// Enumerate all the descendants of the visual object.
public static 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);
    }
}
' 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

Commenti

I nodi nella struttura ad albero visuale possono essere Visual o Visual3D oggetti . I metodi specifici di un tipo di oggetto visivo vengono digitati come Visual o Visual3D. Tuttavia, alcuni metodi nella VisualTreeHelper classe possono accettare un DependencyObject valore che rappresenta un tipo di oggetto visivo.

WPF supporta l'accesso a livello di codice a diverse strutture ad albero di oggetti. Principalmente, questo viene esposto come albero visivo e un albero logico. In alcuni casi, l'albero logico è una rappresentazione più utile degli elementi in un'applicazione WPF, ma concettualmente l'albero logico viene implementato a un livello oltre la Visual classe . A differenza della struttura ad albero visuale, l'albero logico può rappresentare oggetti dati non visivi, ad esempio ListItem. Per altre informazioni sull'albero logico, vedere Strutture ad albero in WPF. L'albero logico è supportato anche da una classe di metodo di utilità simile, LogicalTreeHelper.

Metodi

GetBitmapEffect(Visual)

Restituisce il valore BitmapEffect per l'oggetto Visual specificato.

GetBitmapEffectInput(Visual)

Restituisce il valore BitmapEffectInput per l'oggetto Visual specificato.

GetCacheMode(Visual)

Recupera la rappresentazione memorizzata nella cache dell'oggetto Visual specificato.

GetChild(DependencyObject, Int32)

Restituisce l'oggetto visivo figlio in base all'indice dell'insieme specificato all'interno di un determinato oggetto padre.

GetChildrenCount(DependencyObject)

Restituisce il numero di oggetti figlio contenuti nell'oggetto visivo specificato.

GetClip(Visual)

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.

GetDpi(Visual)

Ottiene le informazioni DPI in base a cui l'oggetto Visual viene misurato e viene eseguito il rendering.

GetDrawing(Visual)

Restituisce il contenuto del disegno dell'oggetto Visual specificato.

GetEdgeMode(Visual)

Restituisce la modalità di bordo dell'oggetto Visual specificato come valore EdgeMode.

GetEffect(Visual)

Ottiene un effetto bitmap per l'istanza di Visual specificata.

GetOffset(Visual)

Restituisce l'offset dell'oggetto Visual.

GetOpacity(Visual)

Restituisce l'opacità dell'oggetto Visual.

GetOpacityMask(Visual)

Restituisce un valore Brush che rappresenta la maschera di opacità dell'oggetto Visual.

GetParent(DependencyObject)

Restituisce un valore DependencyObject che rappresenta l'elemento padre dell'oggetto visivo.

GetTransform(Visual)

Restituisce un valore Transform per l'oggetto Visual.

GetXSnappingGuidelines(Visual)

Restituisce una raccolta delle linee guida per la coordinata x (verticale).

GetYSnappingGuidelines(Visual)

Restituisce una raccolta delle linee guida per la coordinata Y (orizzontale).

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

Avvia un hit test sull'oggetto Visual specificato, con metodi HitTestFilterCallback e HitTestResultCallback definiti dal chiamante.

HitTest(Visual, Point)

Restituisce l'oggetto Visual in primo piano di un hit test specificando Point.

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

Avvia un hit test sull'oggetto Visual3D specificato, con metodi HitTestFilterCallback e HitTestResultCallback definiti dal chiamante.

SetRootDpi(Visual, DpiScale)

Aggiorna le informazioni sulla scala DPI di un elemento visivo. Può essere chiamato solo su un elemento visivo senza un padre.

Si applica a