Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original.
Traducción
Original

Visual.AddVisualChild (Método)

Define la relación primario-secundario entre dos objetos visuales.

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

protected void AddVisualChild(
	Visual child
)

Parámetros

child
Tipo: System.Windows.Media.Visual
Objeto visual secundario que se va a agregar al objeto visual primario.

El método AddVisualChild configura la relación primario-secundario entre dos objetos visuales. Se debe utilizar este método cuando se necesita mayor control de bajo nivel sobre la implementación de almacenamiento subyacente de los objetos visuales secundarios. VisualCollection se puede utilizar como una implementación predeterminada para almacenar objetos secundarios.

El ejemplo siguiente muestra cómo definir los requisitos de almacenamiento personalizados de un objeto visual secundario. El ejemplo usa los métodos AddVisualChild y RemoveVisualChild para configurar la relación primario-secundario entre el objeto visual primario y child. Para que el árbol visual se enumere correctamente, se proporcionan en el ejemplo implementaciones invalidadas del método GetVisualChild y de la propiedad VisualChildrenCount.

NotaNota

Aunque se puede usar VisualCollection para crear relaciones primario-secundario entre objetos visuales, es más eficaz proporcionar la implementación de almacenamiento personalizada propia cuando sólo se vincule un objeto secundario a uno primario.


// Create a host visual derived from the FrameworkElement class.
// This class provides layout, event handling, and container support for
// the child visual object.
public class MyVisualHost : FrameworkElement
{
    private DrawingVisual _child;

    public MyVisualHost(DrawingVisual drawingVisual)
    {
        _child = drawingVisual;
        this.AddVisualChild(_child);
    }

    public DrawingVisual Child
    {
        get
        {
            return _child;
        }

        set
        {
            if (_child != value)
            {
                this.RemoveVisualChild(_child);
                _child = value;
                this.AddVisualChild(_child);
            }
        }
    }

    // Provide a required override for the VisualChildrenCount property.
    protected override int VisualChildrenCount
    {
        get { return _child == null ? 0 : 1; }
    }

    // Provide a required override for the GetVisualChild method.
    protected override Visual GetVisualChild(int index)
    {
        if (_child == null)
        {
            throw new ArgumentOutOfRangeException();
        }

        return _child;
    }


.NET Framework

Compatible con: 4, 3.5, 3.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

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.

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft