Sdílet prostřednictvím


DrawingVisual.Drawing Vlastnost

Definice

Získá nakreslený obsah objektu DrawingVisual .

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

Hodnota vlastnosti

DrawingGroup

Získá hodnotu typuDrawingGroup, která představuje kolekci Drawing objektů v .DrawingVisual

Příklady

V následujícím příkladu DrawingGroup je hodnota každého z nich DrawingVisual ve vizuálu hostitele uvedená.

// 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

Poznámky

Objekt vizuálu ukládá data vykreslování jako seznam instrukcí vektorové grafiky. Každá položka v seznamu instrukcí představuje sadu grafických dat nízké úrovně v serializovaném formátu. Další informace o tom, jak vizuální objekty ukládají grafická data, naleznete v tématu WPF Graphics Rendering Overview.

Jakákoli změna vrácené DrawingGroup hodnoty není zachována .DrawingVisual

Platí pro