Compartilhar via


FrameworkElement.GetVisualChild(Int32) Método

Definição

Substitui GetVisualChild(Int32) e retorna um filho no índice especificado de uma coleção de elementos filhos.

protected:
 override System::Windows::Media::Visual ^ GetVisualChild(int index);
protected override System.Windows.Media.Visual GetVisualChild (int index);
override this.GetVisualChild : int -> System.Windows.Media.Visual
Protected Overrides Function GetVisualChild (index As Integer) As Visual

Parâmetros

index
Int32

O índice de base zero do elemento filho solicitado na coleção.

Retornos

Visual

O elemento filho solicitado. Isso não deve retornar null; se o índice fornecido está fora do intervalo, uma exceção é lançada.

Exemplos

O exemplo a seguir mostra como um adorno personalizado usa os valores declarados por um VisualCollection que mantém para seus múltiplos filhos visuais. Esses valores são relatados por meio de substituições de VisualChildrenCount e GetVisualChild.

// To store and manage the adorner's visual children.
VisualCollection visualChildren;
' To store and manage the adorner's visual children.
Private visualChildren As VisualCollection
// Override the VisualChildrenCount and GetVisualChild properties to interface with 
// the adorner's visual collection.
protected override int VisualChildrenCount { get { return visualChildren.Count; } }
protected override Visual GetVisualChild(int index) { return visualChildren[index]; }
' Override the VisualChildrenCount and GetVisualChild properties to interface with 
' the adorner's visual collection.
Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
    Get
        Return visualChildren.Count
    End Get
End Property
Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
    Return visualChildren(index)
End Function

Comentários

FrameworkElement Na implementação, o único índice válido é zero. O modelo de conteúdo para GetVisualChild dar suporte a zero ou a um elemento filho, não a uma coleção.

Notas aos Herdeiros

Essa implementação só é válida para elementos que não mantêm nenhuma coleção mais descritiva de elementos visuais filho. Qualquer elemento que tenha essa coleção deve substituir esse método e mapear o índice para um índice equivalente na coleção de elementos filho compatível com esse elemento. Um índice no intervalo de zero a VisualChildrenCount (menos um) deve retornar um elemento válido; qualquer outro índice deve lançar uma exceção fora de intervalo. Um exemplo de um tipo de elemento que dá suporte a uma coleção filho e substitui GetVisualChild(Int32) para retornar mais de um filho possível é Panel.

A implementação FrameworkElement padrão presume apenas um filho visual. Qualquer valor passado para index diferente de zero faz com que uma exceção seja gerada. Vários elementos comuns, como decoradores, adornos ou elementos com renderização especializada, substituem a FrameworkElement implementação (da implementação de classes base intermediárias). Algumas implementações ainda impõem uma criança visual, enquanto outras permitem uma coleção.

Aplica-se a