Compartir vía


VisualTreeHelper Clase

Definición

Proporciona métodos de utilidad que realizan tareas comunes que implican nodos de un árbol visual.

public ref class VisualTreeHelper abstract sealed
public static class VisualTreeHelper
type VisualTreeHelper = class
Public Class VisualTreeHelper
Herencia
VisualTreeHelper

Ejemplos

En el ejemplo siguiente se muestra cómo enumerar todos los descendientes de un objeto visual, que es una técnica que se puede utilizar si se desea serializar toda la información de representación de una jerarquía de objetos visuales.

// 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

Comentarios

Los nodos del árbol visual pueden ser objetos Visual o Visual3D . Los métodos específicos de un tipo de objeto visual se escriben como Visual o Visual3D. Sin embargo, algunos métodos de la VisualTreeHelper clase pueden aceptar un DependencyObject valor que representa cualquier tipo de objeto visual.

WPF admite el acceso mediante programación a varias estructuras de árbol diferentes de objetos. Principalmente, esto se expone como un árbol visual y un árbol lógico. En algunos casos, el árbol lógico es una representación más útil de los elementos de una aplicación WPF, pero conceptualmente el árbol lógico se implementa en un nivel más allá de la Visual clase. A diferencia del árbol visual, el árbol lógico puede representar objetos de datos no visuales, como ListItem. Para obtener más información sobre el árbol lógico, consulte Árboles en WPF. El árbol lógico también es compatible con una clase de método de utilidad similar, LogicalTreeHelper.

Métodos

GetBitmapEffect(Visual)

Devuelve el valor de BitmapEffect del objeto Visual especificado.

GetBitmapEffectInput(Visual)

Devuelve el valor de BitmapEffectInput del objeto Visual especificado.

GetCacheMode(Visual)

Recupera la representación en memoria caché del objeto Visual especificado.

GetChild(DependencyObject, Int32)

Devuelve el objeto visual secundario del índice de colección especificado dentro de un elemento primario especificado.

GetChildrenCount(DependencyObject)

Devuelve el número de elementos secundarios que el objeto visual especificado contiene.

GetClip(Visual)

Devuelve la región de recorte del objeto Visual especificado como un valor de Geometry.

GetContentBounds(Visual)

Devuelve el rectángulo del cuadro de límite en caché del objeto Visual especificado.

GetContentBounds(Visual3D)

Devuelve el rectángulo del cuadro de límite en caché del objeto Visual3D especificado.

GetDescendantBounds(Visual)

Devuelve la unión de todos los cuadros de límite del contenido de todos los descendientes del objeto Visual, incluido el rectángulo de selección del contenido del objeto Visual.

GetDescendantBounds(Visual3D)

Devuelve la unión de todos los cuadros de límite del contenido de todos los descendientes del objeto Visual3D especificado, incluido el rectángulo de selección del contenido del objeto Visual3D.

GetDpi(Visual)

Obtiene la información de PPP en la que se mide y se representa este objeto visual.

GetDrawing(Visual)

Devuelve el contenido de dibujo del objeto Visual especificado.

GetEdgeMode(Visual)

Devuelve el modo de borde del objeto Visual especificado como un valor de EdgeMode.

GetEffect(Visual)

Obtiene el efecto de imagen del objeto Visual especificado.

GetOffset(Visual)

Devuelve el desplazamiento del objeto Visual.

GetOpacity(Visual)

Devuelve la opacidad del objeto Visual.

GetOpacityMask(Visual)

Devuelve un valor de Brush que representa la máscara de opacidad del objeto Visual.

GetParent(DependencyObject)

Devuelve un valor DependencyObject que representa el elemento primario del objeto visual.

GetTransform(Visual)

Devuelve un valor de Transform del objeto Visual.

GetXSnappingGuidelines(Visual)

Devuelve una colección de instrucciones de la coordenada X (vertical).

GetYSnappingGuidelines(Visual)

Devuelve la colección de instrucciones de la coordenada y (horizontal).

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

Inicia una prueba de posicionamiento en el objeto Visual, con los métodos HitTestFilterCallback y HitTestResultCallback definidos por el autor de llamada.

HitTest(Visual, Point)

Devuelve el objeto Point de nivel superior de una prueba de posicionamiento al especificar un objeto Visual.

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

Inicia una prueba de posicionamiento en el objeto Visual3D, con los métodos HitTestFilterCallback y HitTestResultCallback definidos por el autor de llamada.

SetRootDpi(Visual, DpiScale)

Actualiza la información de PPP de un objeto visual. Sólo puede llamarse en un elemento visual sin un elemento primario.

Se aplica a