Freigeben über


Gewusst wie: Auflisten des Zeichnungsinhalts eines visuellen Objekts

Aktualisiert: November 2007

Das Drawing-Objekt stellt ein Objektmodell für das Auflisten des Inhalts eines Visual bereit.

Beispiel

Im folgenden Beispiel wird mit der GetDrawing-Methode der DrawingGroup-Wert von einem Visual abgerufen und aufgelistet.

Tipp

Wenn Sie den Visualinhalt auflisten, rufen Sie Drawing-Objekte ab, und nicht die zugrunde liegende Darstellung der Renderingdaten als Anweisungsliste für Vektorgrafiken. Weitere Informationen finden Sie unter Übersicht über das Grafikrendering in Windows Presentation Foundation.

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

}

 // 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.GetType() == typeof(DrawingGroup))
         {
             EnumDrawingGroup((DrawingGroup)drawing);
         }
         else if (drawing.GetType() == typeof(GeometryDrawing))
         {
             // Perform action based on drawing type.  
         }
         else if (drawing.GetType() == typeof(ImageDrawing))
         {
             // Perform action based on drawing type.
         }
         else if (drawing.GetType() == typeof(GlyphRunDrawing))
         {
             // Perform action based on drawing type.
         }
         else if (drawing.GetType() == typeof(VideoDrawing))
         {
             // Perform action based on drawing type.
         }
     }
 }

Siehe auch

Konzepte

Übersicht über Zeichnungsobjekte

Übersicht über das Grafikrendering in Windows Presentation Foundation

Referenz

Drawing

DrawingGroup

VisualTreeHelper