VisualTreeHelper (Clase) (System.Windows.Media)

Cambiar vista:
Sin script
Biblioteca de clases de .NET Framework
VisualTreeHelper (Clase)
Este artículo se tradujo de forma manual. Para mostrar esta página y el contenido original en inglés al mismo tiempo, cambie a Lightweight según sus preferencias de visualización.

Proporciona métodos de utilidades para realizar las tareas comunes que incluyen los nodos de un árbol visual.

Jerarquía de herencia

System.Object
  System.Windows.Media.VisualTreeHelper

Espacio de nombres:  System.Windows.Media
Ensamblado:  PresentationCore (en PresentationCore.dll)
Sintaxis

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

El tipo VisualTreeHelper expone los siguientes miembros.

Métodos

  Nombre Descripción
Método público Miembro estático GetBitmapEffect Devuelve el valor de BitmapEffect del objeto Visual especificado.
Método público Miembro estático GetBitmapEffectInput Devuelve el valor de BitmapEffectInput del objeto Visual especificado.
Método público Miembro estático GetCacheMode Recupera la representación en memoria caché del objeto Visual especificado.
Método público Miembro estático GetChild Devuelve el objeto visual secundario del índice de colección especificado dentro de un elemento primario especificado.
Método público Miembro estático GetChildrenCount Devuelve el número de elementos secundarios que el objeto visual especificado contiene.
Método público Miembro estático GetClip Devuelve la región de recorte del objeto Visual especificado como un valor de Geometry.
Método público Miembro estático GetContentBounds(Visual) Devuelve el rectángulo del cuadro de límite en caché del objeto Visual especificado.
Método público Miembro estático GetContentBounds(Visual3D) Devuelve el rectángulo del cuadro de límite almacenado en memoria caché para el objeto Visual3D especificado.
Método público Miembro estático 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.
Método público Miembro estático 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.
Método público Miembro estático GetDrawing Devuelve el contenido de dibujo del objeto Visual especificado.
Método público Miembro estático GetEdgeMode Devuelve el modo de borde del objeto Visual especificado como un valor de EdgeMode.
Método público Miembro estático GetEffect Obtiene el efecto de mapa de bits del objeto Visual especificado.
Método público Miembro estático GetOffset Devuelve el desplazamiento del objeto Visual.
Método público Miembro estático GetOpacity Devuelve la opacidad del objeto Visual.
Método público Miembro estático GetOpacityMask Devuelve un valor de Brush que representa la máscara de opacidad del objeto Visual.
Método público Miembro estático GetParent Devuelve un valor de DependencyObject que representa el objeto primario del objeto visual.
Método público Miembro estático GetTransform Devuelve un valor de Transform del objeto Visual.
Método público Miembro estático GetXSnappingGuidelines Devuelve una colección de coordenadas X (eje vertical) como guía.
Método público Miembro estático GetYSnappingGuidelines Devuelve una colección de instrucciones de coordenada Y (horizontal).
Método público Miembro estático HitTest(Visual, Point) Devuelve el objeto Visual de nivel superior de una prueba de posicionamiento especificando un objeto Point.
Método público Miembro estático HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters) Inicia una prueba de posicionamiento en el objeto Visual especificado, con los métodos HitTestFilterCallback y HitTestResultCallback definidos por el llamador.
Método público Miembro estático HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D) Inicia una prueba de posicionamiento en el objeto Visual3D especificado, con los métodos HitTestFilterCallback y HitTestResultCallback definidos por el llamador.
Arriba
Comentarios

Los nodos en el árbol visual pueden ser objetos Visual o Visual3D. Los métodos específicos de un tipo de objeto visual son del tipo Visual o Visual3D. Sin embargo, algunos métodos en la clase VisualTreeHelper pueden aceptar un valor de DependencyObject que representa cualquiera de los dos tipos de objetos visuales.

WPF admite el acceso mediante programación a varias estructuras de árbol de los objetos. Principalmente, 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 clase Visual. 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, vea Árboles en WPF. El árbol lógico también lo admite una clase de método de utilidades similar, LogicalTreeHelper.

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.

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);
    }
}


Información de versión

.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1
Plataformas

Windows 7, Windows Vista SP1 o posterior, Windows XP SP3, Windows Server 2008 (no se admite Server Core), Windows Server 2008 R2 (se admite Server Core con SP1 o posterior), Windows Server 2003 SP2

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también

Referencia

Otros recursos