다음을 통해 공유


VisualTreeHelper 클래스

정의

시각적 트리의 노드와 관련된 일반적인 작업을 수행하는 유틸리티 메서드를 제공합니다.

public ref class VisualTreeHelper abstract sealed
public static class VisualTreeHelper
type VisualTreeHelper = class
Public Class VisualTreeHelper
상속
VisualTreeHelper

예제

다음 예제에서는 시각적 개체의 모든 하위 항목을 열거하는 방법을 보여 줍니다. 이 방법은 시각적 개체 계층 구조의 모든 렌더링 정보를 serialize하려는 경우에 사용할 수 있습니다.

// Enumerate all the descendants of the visual object.
public static void EnumVisual(Visual myVisual)
{
    for (int i = 0; i < VisualTreeHelper.GetChildrenCount(myVisual); i++)
    {
        // Retrieve child visual at specified index value.
        Visual childVisual = (Visual)VisualTreeHelper.GetChild(myVisual, i);

        // Do processing of the child visual object.

        // Enumerate children of the child visual object.
        EnumVisual(childVisual);
    }
}
' Enumerate all the descendants of the visual object.
Public Shared Sub EnumVisual(ByVal myVisual As Visual)
    For i As Integer = 0 To VisualTreeHelper.GetChildrenCount(myVisual) - 1
        ' Retrieve child visual at specified index value.
        Dim childVisual As Visual = CType(VisualTreeHelper.GetChild(myVisual, i), Visual)

        ' Do processing of the child visual object.

        ' Enumerate children of the child visual object.
        EnumVisual(childVisual)
    Next i
End Sub

설명

시각적 트리의 노드는 또는 Visual3D 개체일 Visual 수 있습니다. 시각적 개체 형식과 관련된 메서드는 또는 Visual3DVisual 형식화됩니다. 그러나 클래스의 일부 메서드는 VisualTreeHelper 시각적 개체의 두 형식을 나타내는 값을 허용할 DependencyObject 수 있습니다.

WPF는 개체의 여러 다른 트리 구조에 대한 프로그래밍 방식 액세스를 지원합니다. 주로 시각적 트리 및 논리 트리로 노출됩니다. 경우에 따라 논리 트리는 WPF 애플리케이션에서 요소의 더 유용한 표현이지만 개념적으로 논리 트리는 클래스를 초과하는 Visual 수준에서 구현됩니다. 시각적 트리와 달리 논리 트리는 와 같은 ListItem비비전 데이터 개체를 나타낼 수 있습니다. 논리적 트리에 대한 자세한 내용은 WPF의 트리를 참조하세요. 논리 트리는 유사한 유틸리티 메서드 클래스 LogicalTreeHelper에서도 지원됩니다.

메서드

GetBitmapEffect(Visual)

지정한 BitmapEffectVisual 값을 반환합니다.

GetBitmapEffectInput(Visual)

지정한 BitmapEffectInputVisual 값을 반환합니다.

GetCacheMode(Visual)

지정된 Visual의 캐시된 표현을 검색합니다.

GetChild(DependencyObject, Int32)

지정한 부모 내의 지정한 컬렉션 인덱스에 있는 자식 시각적 개체를 반환합니다.

GetChildrenCount(DependencyObject)

지정한 시각적 개체에 포함된 자식 수를 반환합니다.

GetClip(Visual)

지정한 Visual의 클립 영역을 Geometry 값으로 반환합니다.

GetContentBounds(Visual)

지정한 Visual에 대한 캐시된 경계 상자 사각형을 반환합니다.

GetContentBounds(Visual3D)

지정한 Visual3D에 대한 캐시된 경계 상자 사각형을 반환합니다.

GetDescendantBounds(Visual)

Visual의 내용 경계 상자를 포함한 Visual의 모든 하위 항목에 대한 모든 내용 경계 상자의 합집합을 반환합니다.

GetDescendantBounds(Visual3D)

Visual3D의 내용 경계 상자를 포함한 지정된 Visual3D의 모든 하위 항목에 대한 모든 내용 경계 상자의 합집합을 반환합니다.

GetDpi(Visual)

이 시각적 개체를 측정 및 렌더링하는 DPI 정보를 가져옵니다.

GetDrawing(Visual)

지정한 Visual의 그리기 내용을 반환합니다.

GetEdgeMode(Visual)

지정한 Visual의 가장자리 모드를 EdgeMode 값으로 반환합니다.

GetEffect(Visual)

지정된 Visual에 대한 비트맵 효과를 가져옵니다.

GetOffset(Visual)

Visual의 오프셋을 반환합니다.

GetOpacity(Visual)

Visual의 불투명도를 반환합니다.

GetOpacityMask(Visual)

Brush의 불투명 마스크를 나타내는 Visual 값을 반환합니다.

GetParent(DependencyObject)

시각적 개체의 부모를 나타내는 DependencyObject 값을 반환합니다.

GetTransform(Visual)

TransformVisual 값을 반환합니다.

GetXSnappingGuidelines(Visual)

X 좌표(세로) 안내선 컬렉션을 반환합니다.

GetYSnappingGuidelines(Visual)

Y 좌표(가로) 안내선 컬렉션을 반환합니다.

HitTest(Visual, HitTestFilterCallback, HitTestResultCallback, HitTestParameters)

호출자 정의 HitTestFilterCallbackHitTestResultCallback 메서드를 사용하여 지정된 Visual에서 적중 횟수 테스트를 시작합니다.

HitTest(Visual, Point)

Point를 지정하여 적중 횟수 테스트의 최상위 Visual 개체를 반환합니다.

HitTest(Visual3D, HitTestFilterCallback, HitTestResultCallback, HitTestParameters3D)

호출자 정의 HitTestFilterCallbackHitTestResultCallback 메서드를 사용하여 지정된 Visual3D에서 적중 횟수 테스트를 시작합니다.

SetRootDpi(Visual, DpiScale)

시각적 개체의 DPI 정보를 업데이트합니다. 부모 없이 시각적 개체에 대해서만 호출될 수 있습니다.

적용 대상