다음을 통해 공유


FrameworkElement.GetTemplateChild(String) 메서드

정의

인스턴스화된 ControlTemplate의 시각적 트리에서 명명된 요소를 반환합니다.

protected public:
 System::Windows::DependencyObject ^ GetTemplateChild(System::String ^ childName);
protected internal System.Windows.DependencyObject GetTemplateChild (string childName);
member this.GetTemplateChild : string -> System.Windows.DependencyObject
Protected Friend Function GetTemplateChild (childName As String) As DependencyObject

매개 변수

childName
String

찾을 자식의 이름입니다.

반환

DependencyObject

요청한 요소입니다. 요청된 이름이 요소가 없으면 null일 수 있습니다.

설명

WPF의 템플릿에는 자체 포함된 이름 범위가 있습니다. 이는 템플릿이 다시 사용되고 컨트롤의 여러 인스턴스가 각각 템플릿을 인스턴스화할 때 템플릿에 정의된 모든 이름이 고유하게 유지될 수 없기 때문입니다. 메서드를 GetTemplateChild 호출하여 인스턴스화된 후 템플릿에서 온 개체에 대한 참조를 반환합니다. 보다 일반적인 범위에서 작동하기 때문에 FrameworkElement.FindName 메서드를 사용하여 FrameworkElement.FindName 템플릿에서 항목을 찾을 수 없으며, 클래스 자체와 인스턴스화된 템플릿이 ControlTemplate 적용된 후에는 연결이 없습니다.

FrameworkTemplate.FindName 는 이 메서드와 동일한 함수를 제공합니다. FrameworkTemplate.FindName 는 보호되는 대신 public이며, 요소 내에서 템플릿에 액세스하고 해당 요소 내에서 명명된 항목을 찾을 수 있도록 하는 올바른 이름 범위 지정 고려 사항을 사용합니다. 부모 컨트롤 외부의 요소를 가져와야 하는 경우에 사용합니다 FrameworkTemplate.FindName .

적용 대상

추가 정보