ContainerVisual.VisualChildrenCount Eigenschaft
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ruft die Anzahl der untergeordneten Elemente für das ContainerVisual ab.
protected:
property int VisualChildrenCount { int get(); };
protected override sealed int VisualChildrenCount { get; }
member this.VisualChildrenCount : int
Protected Overrides NotOverridable ReadOnly Property VisualChildrenCount As Integer
Eigenschaftswert
Die Anzahl der untergeordneten Elemente in der VisualCollection der ContainerVisual.
Beispiele
Das folgende Beispiel zeigt, wie Sie ein ContainerVisual -Objekt erstellen, das als übergeordnetes Objekt für zwei DrawingVisual -Objekte verwendet wird. Objekte, die dem ContainerVisual Objekt hinzugefügt werden, müssen in umgekehrter Z-Reihenfolge (von unten nach oben) hinzugefügt werden, um sicherzustellen, dass sie in der richtigen Zeichnungsreihenfolge gerendert werden. Damit die visuelle Struktur ordnungsgemäß aufgezählt wird, werden im Beispiel überschriebene Implementierungen der -Methode und VisualChildrenCount -GetVisualChildEigenschaft bereitgestellt.
// 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 : FrameworkElement
{
private ContainerVisual _containerVisual;
public MyContainerVisualHost(DrawingVisual border, DrawingVisual text)
{
// 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.
this.AddVisualChild(_containerVisual);
}
// Provide a required override for the VisualChildrenCount property.
protected override int VisualChildrenCount
{
get { return _containerVisual == null ? 0 : 1; }
}
// Provide a required override for the GetVisualChild method.
protected override Visual GetVisualChild(int index)
{
if (_containerVisual == null)
{
throw new ArgumentOutOfRangeException();
}
return _containerVisual;
}
}
' 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
Hinweise
Standardmäßig verfügt ein ContainerVisual über keine untergeordneten Elemente.
Hinweise für Vererber
Klassen, die von ContainerVisual abgeleitet werden, müssen die VisualChildrenCount -Eigenschaft implementieren, um die untergeordneten visuellen Elemente aufzulisten. Die abgeleitete Eigenschaft muss die Anzahl der untergeordneten Elemente für das ContainerVisualzurückgeben.
Die visuelle Struktur kann während dieses Aufrufs nicht geändert werden.