Freigeben über


Vorgehensweise: Aufzählen von Zeichnungsinhalten eines visuellen Elements

Das Drawing Objekt stellt ein Objektmodell zum Aufzählen des Inhalts eines Objekts Visualbereit.

Beispiel

Im folgenden Beispiel wird die GetDrawing Methode verwendet, um den DrawingGroup Wert eines Visual abzurufen und ihn aufzulisten.

Hinweis

Wenn Sie den Inhalt des visuellen Elements aufzählen, werden Objekte abgerufen Drawing und nicht die zugrunde liegende Darstellung der Renderdaten als Vektorgrafikanweisungsliste. Weitere Informationen finden Sie unter WPF Graphics Rendering Overview.

public void RetrieveDrawing(Visual v)
{
    DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(v);
    EnumDrawingGroup(drawingGroup);
}

// Enumerate the drawings in the DrawingGroup.
public void EnumDrawingGroup(DrawingGroup drawingGroup)
{
    DrawingCollection dc = drawingGroup.Children;

    // Enumerate the drawings in the DrawingCollection.
    foreach (Drawing drawing in dc)
    {
        // If the drawing is a DrawingGroup, call the function recursively.
        if (drawing is DrawingGroup group)
        {
            EnumDrawingGroup(group);
        }
        else if (drawing is GeometryDrawing)
        {
            // Perform action based on drawing type.
        }
        else if (drawing is ImageDrawing)
        {
            // Perform action based on drawing type.
        }
        else if (drawing is GlyphRunDrawing)
        {
            // Perform action based on drawing type.
        }
        else if (drawing is VideoDrawing)
        {
            // Perform action based on drawing type.
        }
    }
}

Siehe auch