FrameworkElement.VisualChildrenCount Property (System.Windows)

Switch View :
ScriptFree
.NET Framework Class Library
FrameworkElement.VisualChildrenCount Property

Gets the number of visual child elements within this element.

Namespace:  System.Windows
Assembly:  PresentationFramework (in PresentationFramework.dll)
Syntax

Visual Basic
Protected Overrides ReadOnly Property VisualChildrenCount As Integer
	Get
C#
protected override int VisualChildrenCount { get; }
Visual C++
protected:
virtual property int VisualChildrenCount {
	int get () override;
}
F#
abstract VisualChildrenCount : int
override VisualChildrenCount : int

Property Value

Type: System.Int32
The number of visual child elements for this element.
Remarks

The FrameworkElement implementation of VisualChildrenCount always returns either zero or one. Classes that maintain a visual child collection that might exceed one must override both this property and GetVisualChild.

This property is generally used to determine the upper bounds of the current child collection for purposes of implementing the layout overrides (MeasureOverride, ArrangeOverride).

Notes to Inheritors

If your class supports more than one visual child in a child element collection, override this property to return the count of elements in that collection. You must do this even if the collection object itself returns a count. Element layout logic at the WPF framework level presumes that all elements will return a valid count through their VisualChildrenCount property.

Examples

The following example shows how a custom adorner uses the values declared by a VisualCollection that it maintains for its multiple visual children and reports these values through overrides of VisualChildrenCount and GetVisualChild.

Visual Basic

	' 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 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


C#

// To store and manage the adorner's visual children.
VisualCollection visualChildren;


...


// 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]; }


Version Information

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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

Reference

Other Resources