Export (0) Print
Expand All

ContainerVisual.VisualChildrenCount Property

Gets the number of children for the ContainerVisual.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)

'Declaration
Protected Overrides NotOverridable ReadOnly Property VisualChildrenCount As Integer

Property Value

Type: System.Int32
The number of children in the VisualCollection of the ContainerVisual.

By default, a ContainerVisual does not have any children.

Notes to Inheritors

Classes that derive from ContainerVisual must implement the VisualChildrenCount property to enumerate the visual children. The derived property must return the number of children for the ContainerVisual.

The visual tree cannot be modified during this call.

The following example shows how to create a ContainerVisual object that is used as the parent for two DrawingVisual objects. Objects that are added to the ContainerVisual object must be added in reverse z-order (bottom to top) to ensure they are rendering in the correct drawing order. In order for the visual tree to be enumerated correctly, the example provides overridden implementations of the GetVisualChild method and VisualChildrenCount property.

	' Create a host visual derived from the FrameworkElement class.
	' This class provides layout, event handling, and container support for
	' the child visual objects.
	Public Class MyContainerVisualHost
		Inherits FrameworkElement
		Private _containerVisual As ContainerVisual

		Public Sub New(ByVal border As DrawingVisual, ByVal text As DrawingVisual)
			' Create a ContainerVisual to hold DrawingVisual children.
			_containerVisual = New ContainerVisual()

			' Add children to ContainerVisual in reverse z-order (bottom to top).
			_containerVisual.Children.Add(border)
			_containerVisual.Children.Add(text)

			' Create parent-child relationship with host visual and ContainerVisual.
			Me.AddVisualChild(_containerVisual)
		End Sub

		' Provide a required override for the VisualChildrenCount property.
		Protected Overrides ReadOnly Property VisualChildrenCount() As Integer
			Get
				Return If(_containerVisual Is Nothing, 0, 1)
			End Get
		End Property

		' Provide a required override for the GetVisualChild method.
		Protected Overrides Function GetVisualChild(ByVal index As Integer) As Visual
			If _containerVisual Is Nothing Then
				Throw New ArgumentOutOfRangeException()
			End If

			Return _containerVisual
		End Function
	End Class

.NET Framework

Supported in: 4.5, 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft