FrameworkElement.GetVisualChild(Int32) Método

Definição

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

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 baseado em zero do elemento filho solicitado na coleção.

Retornos

O elemento filho solicitado. Isso não deve retornar null; se o índice fornecido estiver fora do intervalo, uma exceção será gerada.

Exemplos

O exemplo a seguir mostra como um adorno personalizado usa os valores declarados por um VisualCollection que ele mantém para seus vários 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 gerar uma exceção fora do 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 outro que não seja 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 um filho visual, enquanto outras permitem uma coleção.

Aplica-se a