FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) FrameworkElement.GetVisualChild(Int32) Method

Определение

Переопределяет GetVisualChild(Int32) и возвращает дочерний элемент по указанному индексу из коллекции дочерних элементов.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

Параметры

index
Int32 Int32 Int32 Int32

Отсчитываемый от нуля индекс запрошенного дочернего элемента коллекции.The zero-based index of the requested child element in the collection.

Возвраты

Запрошенный дочерний элемент.The requested child element. Не должен возвращать null; если указанный индекс находится вне диапазона, создается исключение.This should not return null; if the provided index is out of range, an exception is thrown.

Примеры

В следующем примере показано, как пользовательский декоративный элемент использует значения, объявленные с VisualCollection , он поддерживает для нескольких визуальных дочерних элементов.The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children. Эти значения передаются через переопределения VisualChildrenCount и 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

Комментарии

В FrameworkElement реализации только допустимый индекс равен нулю.In the FrameworkElement implementation, the only valid index is zero. Модель содержимого для GetVisualChild поддерживает ноль или один дочерний элемент, не коллекцию.The content model for GetVisualChild supports either zero or one child elements, not a collection.

Примечания для тех, кто наследует этот метод

Эта реализация допустимо только для элементов, которые не поддерживают более описательную коллекцию визуальных дочерних элементов.This implementation is only valid for elements that do not maintain any more descriptive collection of visual child elements. Любой элемент, который имеет такой коллекции необходимо переопределить этот метод и сопоставьте индекс с эквивалентным индексом в коллекции дочерних элементов, поддерживаемой данным элементом.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. Индекс в диапазоне от нуля до VisualChildrenCount (минус) должен возвращать допустимый элемент; любого другого индекса должен создать исключение out of range.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. Пример типа элемента, который поддерживает коллекцию дочерних и переопределяет GetVisualChild(Int32) для возврата нескольких возможных дочерних является 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.

Реализация по умолчанию в FrameworkElement предполагает только один визуальный дочерний элемент.The default implementation in FrameworkElement presumes only one visual child. Любое значение, переданное index Кроме нуль вызывает исключение, исключение.Any value passed for index other than zero causes an exception to be thrown. Некоторые стандартные элементы, например декораторы, графические элементы или элементы со специальными средствами визуализации, переопределяют FrameworkElement реализацию (реализация из промежуточных базовых классов).Several common elements, such as decorators, adorners, or elements with specialized rendering, override the FrameworkElement implementation (of the implementation from intermediate base classes). В некоторых реализациях по-прежнему принудительно один визуальный дочерний элемент, тогда как другие разрешают коллекцию.Some implementations still enforce one visual child whereas others allow a collection.

Применяется к