방법: 시각적 요소의 그리기 콘텐츠 열거
Drawing 개체는 Visual의 콘텐츠를 열거하는 개체 모델을 제공합니다.
예제
다음 예제에서는 GetDrawing 메서드를 사용하여 Visual의 DrawingGroup 값을 검색하고 이를 열거합니다.
참고 |
---|
시각적 요소의 콘텐츠를 열거할 경우 Drawing 개체를 검색하는 것이며 렌더링 데이터의 기본 표현을 벡터 그래픽 지침 목록으로 검색하는 것이 아닙니다.자세한 내용은 WPF 그래픽 렌더링 개요를 참조하십시오. |
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.
}
}
}