Procedura: Enumerare il contenuto del disegno di un oggetto visivo
L'oggetto Drawing fornisce un modello a oggetti per enumerare il contenuto di un Visual.
Esempio
Nell'esempio seguente viene utilizzato il metodo GetDrawing per recuperare il valore DrawingGroup di un Visual ed enumerarlo.
Nota
Quando si enumerano i contenuti del visivo, si recuperano gli oggetti Drawing e non la rappresentazione sottostante dei dati di rendering come lista di istruzioni per grafica vettoriale. Per altre informazioni, vedere Panoramica del rendering della grafica WPF .
public void RetrieveDrawing(Visual v)
{
DrawingGroup drawingGroup = VisualTreeHelper.GetDrawing(v);
EnumDrawingGroup(drawingGroup);
}
// 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 is DrawingGroup group)
{
EnumDrawingGroup(group);
}
else if (drawing is GeometryDrawing)
{
// Perform action based on drawing type.
}
else if (drawing is ImageDrawing)
{
// Perform action based on drawing type.
}
else if (drawing is GlyphRunDrawing)
{
// Perform action based on drawing type.
}
else if (drawing is VideoDrawing)
{
// Perform action based on drawing type.
}
}
}
Vedere anche
- Drawing
- DrawingGroup
- VisualTreeHelper
- Panoramica degli oggetti di disegno
- Panoramica del Rendering della Grafica WPF
Collabora con noi su GitHub
L'origine di questo contenuto è disponibile in GitHub, in cui è anche possibile creare ed esaminare i problemi e le richieste pull. Per ulteriori informazioni, vedere la guida per i collaboratori.
.NET Desktop feedback