FrameworkElement.GetVisualChild(Int32) Método

Definição

Substitui GetVisualChild(Int32) e retorna um filho no índice especificado de uma coleção de elementos filhos.Overrides GetVisualChild(Int32), and returns a child at the specified index from a collection of child elements.

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.The zero-based index of the requested child element in the collection.

Retornos

O elemento filho solicitado.The requested child element. Isso não deve retornar null; se o índice fornecido está fora do intervalo, uma exceção é lançada.This should not return null; if the provided index is out of range, an exception is thrown.

Exemplos

O exemplo a seguir mostra como um adorner personalizado usa os valores declarados por um VisualCollection que ele mantém para seus vários filhos visuais.The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children. Esses valores são relatados por meio de substituições de VisualChildrenCount e GetVisualChild.These values are reported through overrides of VisualChildrenCount and 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

Na implementação de FrameworkElement, o único índice válido é zero.In the FrameworkElement implementation, the only valid index is zero. O modelo de conteúdo para GetVisualChild dá suporte a zero ou a um elemento filho, não a uma coleção.The content model for GetVisualChild supports either zero or one child elements, not a collection.

Notas aos Herdeiros

Essa implementação só é válida para elementos que não mantêm nenhuma coleção mais descritiva de elementos filho visual.This implementation is only valid for elements that do not maintain any more descriptive collection of visual child elements. Qualquer elemento que tenha tal coleção deve substituir esse método e mapear o índice para um índice equivalente na coleção de elementos filho que é suportada por esse elemento.Any element that does have such a collection must override this method and map the index to an equivalent index in the child element collection that is supported by that element. 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 do intervalo.An index in the range from zero to VisualChildrenCount (minus one) should return a valid element; any other index should throw an out-of-range exception. 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.An example of an element type that does support a child collection and overrides GetVisualChild(Int32) to return more than one possible child is Panel.

A implementação padrão no FrameworkElement pressupõe apenas um filho visual.The default implementation in FrameworkElement presumes only one visual child. Qualquer valor passado para index diferente de zero faz com que uma exceção seja gerada.Any value passed for index other than zero causes an exception to be thrown. Vários elementos comuns, como decoradores, adorners ou elementos com renderização especializada, substituem a implementação de FrameworkElement (da implementação de classes base intermediárias).Several common elements, such as decorators, adorners, or elements with specialized rendering, override the FrameworkElement implementation (of the implementation from intermediate base classes). Algumas implementações ainda impõem um filho visual, enquanto outros permitem uma coleção.Some implementations still enforce one visual child whereas others allow a collection.

Aplica-se a