Leer en inglés

Compartir a través de


Visual.AddVisualChild(Visual) Método

Definición

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

C#
protected void AddVisualChild(System.Windows.Media.Visual child);

Parámetros

child
Visual

Objeto visual secundario que se va a agregar al objeto visual primario.

Ejemplos

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

Nota

Aunque es posible usar VisualCollection para crear relaciones de elementos primarios y secundarios entre objetos visuales, es más eficaz proporcionar su propia implementación de almacenamiento personalizada cuando solo un elemento secundario está vinculado a un elemento primario.

C#
// 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;
    }

Comentarios

El AddVisualChild método configura la relación de elementos primarios y secundarios entre dos objetos visuales. Este método debe usarse cuando necesite un mayor control de bajo nivel sobre la implementación de almacenamiento subyacente de objetos secundarios visuales. VisualCollection se puede usar como implementación predeterminada para almacenar objetos secundarios.

Se aplica a

Producto Versiones
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

Consulte también