Udostępnij za pośrednictwem


DrawingVisual.Drawing Właściwość

Definicja

Pobiera zawartość rysunku DrawingVisual obiektu.

public:
 property System::Windows::Media::DrawingGroup ^ Drawing { System::Windows::Media::DrawingGroup ^ get(); };
public System.Windows.Media.DrawingGroup Drawing { get; }
member this.Drawing : System.Windows.Media.DrawingGroup
Public ReadOnly Property Drawing As DrawingGroup

Wartość właściwości

DrawingGroup

Pobiera wartość typu DrawingGroup reprezentującą kolekcję Drawing obiektów w obiekcie DrawingVisual.

Przykłady

W poniższym przykładzie DrawingGroup wartość każdej DrawingVisual z wizualizacji hosta jest wyliczana.

// Enumerate the DrawingVisual children of a host visual.
public void RetrieveDrawings(Visual visualHost)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(visualHost); i++)
    {
        // Retrieve child visual at specified index value.
        DependencyObject dependencyObject = VisualTreeHelper.GetChild(visualHost, i);

        // Determine if the child object is a DrawingVisual.
        if (dependencyObject.GetType() == typeof(DrawingVisual))
        {
            DrawingVisual drawingVisual = (DrawingVisual)dependencyObject;

            if (drawingVisual.Drawing != null)
            {
                if (drawingVisual.Drawing.GetType() == typeof(DrawingGroup))
                {
                    // Enumerate the drawings in the DrawingGroup.
                    EnumDrawingGroup(drawingVisual.Drawing);
                }
            }
        }
     }
 }

 // 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);
         }

         if (drawing.GetType() == typeof(GeometryDrawing))
         {
             // Perform action based on drawing type.
         }
     }
 }
' Enumerate the DrawingVisual children of a host visual.
Public Sub RetrieveDrawings(ByVal visualHost As Visual)
    For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(visualHost) - 1
        ' Retrieve child visual at specified index value.
        Dim dependencyObject As DependencyObject = VisualTreeHelper.GetChild(visualHost, i)

        ' Determine if the child object is a DrawingVisual.
        If dependencyObject.GetType() Is GetType(DrawingVisual) Then
            Dim drawingVisual As DrawingVisual = CType(dependencyObject, DrawingVisual)

            If drawingVisual.Drawing IsNot Nothing Then
                If drawingVisual.Drawing.GetType() Is GetType(DrawingGroup) Then
                    ' Enumerate the drawings in the DrawingGroup.
                    EnumDrawingGroup(drawingVisual.Drawing)
                End If
            End If
        End If
    Next i
End Sub

 ' Enumerate the drawings in the DrawingGroup.
 Public Sub EnumDrawingGroup(ByVal drawingGroup As DrawingGroup)
     Dim dc As DrawingCollection = drawingGroup.Children

     ' Enumerate the drawings in the DrawingCollection.
     For Each drawing As Drawing In dc
         ' If the drawing is a DrawingGroup, call the function recursively.
         If drawing.GetType() Is GetType(DrawingGroup) Then
             EnumDrawingGroup(CType(drawing, DrawingGroup))
         End If

         If drawing.GetType() Is GetType(GeometryDrawing) Then
             ' Perform action based on drawing type.
         End If
     Next drawing
 End Sub

Uwagi

Obiekt wizualizacji przechowuje dane renderowania jako listę instrukcji grafiki wektorowej. Każdy element na liście instrukcji reprezentuje zestaw danych graficznych niskiego poziomu w formacie serializowanym. Aby uzyskać więcej informacji na temat sposobu przechowywania danych graficznych w obiektach wizualnych, zobacz Omówienie renderowania grafiki WPF.

Każda zmiana zwracanej DrawingGroup wartości nie jest utrwalana przez element DrawingVisual.

Dotyczy