Ler em inglês

Compartilhar via


Visual.AddVisualChild(Visual) Método

Definição

Define a relação pai-filho entre dois visuais.

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

Parâmetros

child
Visual

O objeto visual filho a ser adicionado ao visual pai.

Exemplos

O exemplo a seguir mostra como definir requisitos de armazenamento personalizados para um filho visual. O exemplo usa os AddVisualChild métodos e RemoveVisualChild para configurar a relação pai-filho entre o visual pai e child. Para que a árvore visual seja enumerada corretamente, o exemplo fornece implementações substituídas do método e VisualChildrenCount da GetVisualChild propriedade.

Observação

Embora seja possível usar VisualCollection para criar relações pai-filho entre objetos visuais, é mais eficiente fornecer sua própria implementação de armazenamento personalizada quando apenas um filho estiver vinculado a um pai.

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

Comentários

O AddVisualChild método configura a relação pai-filho entre dois objetos visuais. Esse método deve ser usado quando você precisa de maior controle de baixo nível sobre a implementação de armazenamento subjacente de objetos filho visuais. VisualCollection pode ser usado como uma implementação padrão para armazenar objetos filho.

Aplica-se a

Produto Versões
.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

Confira também