FrameworkElement.VisualChildrenCount プロパティ

定義

この要素内でビジュアル子要素の数を取得します。Gets the number of visual child elements within this element.

protected:
 virtual property int VisualChildrenCount { int get(); };
protected override int VisualChildrenCount { get; }
member this.VisualChildrenCount : int
Protected Overrides ReadOnly Property VisualChildrenCount As Integer

プロパティ値

この要素のビジュアル子要素の数。The number of visual child elements for this element.

次の例では、カスタム装飾が、複数のビジュアルな子のために保持している VisualCollection によって宣言された値を使用し、VisualChildrenCountGetVisualChildのオーバーライドによってこれらの値を報告する方法を示します。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.

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

注釈

VisualChildrenCountFrameworkElement の実装では、常に0または1が返されます。The FrameworkElement implementation of VisualChildrenCount always returns either zero or one. 1つを超える可能性のあるビジュアル子コレクションを保持するクラスは、このプロパティと GetVisualChildの両方をオーバーライドする必要があります。Classes that maintain a visual child collection that might exceed one must override both this property and GetVisualChild.

このプロパティは、通常、レイアウトのオーバーライド (MeasureOverrideArrangeOverride) を実装するために、現在の子コレクションの上限を決定するために使用されます。This property is generally used to determine the upper bounds of the current child collection for purposes of implementing the layout overrides (MeasureOverride, ArrangeOverride).

注意 (継承者)

クラスで子要素コレクション内の複数のビジュアル子がサポートされている場合は、このプロパティをオーバーライドして、そのコレクション内の要素の数を返します。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. WPF フレームワークレベルでの要素のレイアウトロジックは、すべての要素が VisualChildrenCount プロパティを通じて有効なカウントを返すことを前提としています。Element layout logic at the WPF framework level presumes that all elements will return a valid count through their VisualChildrenCount property.

適用対象