DrawingVisual.Drawing Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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