(0) exportieren Drucken
Alle erweitern

ContainerVisual-Klasse

Aktualisiert: November 2007

Verwaltet eine Auflistung von Visual-Objekten.

Namespace:  System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)
XMLNS für XAML: http://schemas.microsoft.com/winfx/xaml/presentation

public class ContainerVisual : Visual
public class ContainerVisual extends Visual
public class ContainerVisual extends Visual

Die ContainerVisual-Klasse wird als Container für eine Auflistung von Visual-Objekten verwendet. Die DrawingVisual-Klasse wird von der ContainerVisual-Klasse abgeleitet, sodass die DrawingVisual-Klasse auch eine Auflistung von visuellen Objekten enthalten kann.

Im folgenden Beispiel wird das Erstellen eines ContainerVisual-Objekts veranschaulicht, das als übergeordnetes Objekt von zwei DrawingVisual-Objekten verwendet wird. Dem ContainerVisual-Objekt hinzuzufügende Objekte müssen in umgekehrter z-Reihenfolge (von unten nach oben) hinzugefügt werden, um sicherzustellen, dass sie in der ordnungsgemäßen Zeichenreihenfolge gerendert werden. Damit die visuelle Struktur ordnungsgemäß aufgelistet wird, werden im Beispiel überschriebene Implementierungen der GetVisualChild-Methode und der VisualChildrenCount-Eigenschaft 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;
    }
}


Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
Anzeigen:
© 2014 Microsoft