다음을 통해 공유


방법: 시각적 요소의 그리기 콘텐츠 열거

Drawing 개체는 Visual의 콘텐츠를 열거하기 위한 개체 모델을 제공합니다.

예시

다음 예제에서는 GetDrawing 메서드를 사용하여 값이 VisualDrawingGroup을 찾아옵니다.

비고

시각적 개체의 콘텐츠를 열거하는 경우 벡터 그래픽 명령 목록으로 나타낸 렌더링 데이터의 기본 표현이 아닌 Drawing 개체를 찾아옵니다. 자세한 내용은 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.
        }
    }
}

참고하십시오