Partager via


Comment : énumérer le contenu de dessin d'un Visual

Mise à jour : novembre 2007

L'objet Drawing fournit un modèle objet pour l'énumération du contenu d'un Visual.

Exemple

L'exemple suivant utilise la méthode GetDrawing pour récupérer la valeur DrawingGroup d'un Visual et l'énumérer.

Remarque :

Lorsque vous énumérez le contenu d'un visuel, vous récupérez des objets Drawing, et non pas la représentation sous-jacente des données rendues comme liste d'instructions graphiques vectorielles. Pour plus d'informations, consultez Vue d'ensemble du rendu graphique de 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.
         }
     }
 }

Voir aussi

Concepts

Vue d'ensemble des objets Drawing

Vue d'ensemble du rendu graphique de Windows Presentation Foundation

Référence

Drawing

DrawingGroup

VisualTreeHelper