FrameworkElement.GetTemplateChild(String) 메서드


인스턴스화된 ControlTemplate의 시각적 트리에서 명명된 요소를 반환합니다.Returns the named element in the visual tree of an instantiated 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

매개 변수


찾을 자식의 이름입니다.Name of the child to find.



요청한 요소입니다.The requested element. 요청된 이름이 요소가 없으면 null일 수 있습니다.May be null if no element of the requested name exists.


WPF의 템플릿에는 자체 포함 된 이름 범위가 있습니다.Templates in WPF have a self-contained namescope. 이는 템플릿을 다시 사용 하기 때문 이며, 컨트롤의 여러 인스턴스가 각각 템플릿을 인스턴스화할 때 템플릿에 정의 된 모든 이름은 고유 하 게 유지 될 수 없습니다.This is because templates are re-used, and any name defined in a template cannot remain unique when multiple instances of a control each instantiate its template. GetTemplateChild인스턴스화된 후에 템플릿에서 가져온 개체에 대 한 참조를 반환 하려면 메서드를 호출 합니다.Call the GetTemplateChild method to return references to objects that come from the template after it is instantiated. 메서드를 사용 하 여 템플릿에서 항목을 찾을 수 없습니다 .이는 FrameworkElement.FindName FrameworkElement.FindName 보다 일반적인 범위에서 작동 하 고, ControlTemplate 적용 된 후에는 클래스 자체와 인스턴스화된 템플릿 간에 연결이 없기 때문입니다.You cannot use the FrameworkElement.FindName method to find items from templates because FrameworkElement.FindName acts in a more general scope, and there is no connection between the ControlTemplate class itself and the instantiated template once it is applied.

FrameworkTemplate.FindName 는이 메서드와 동일한 함수를 제공 합니다.FrameworkTemplate.FindName supplies the same function as this method. FrameworkTemplate.FindName 는 보호 되지 않고 공용 이며, 요소 내에서 템플릿에 액세스 하 고 그 안에 명명 된 항목을 찾을 수 있는 올바른 이름 범위 고려 사항을 사용 합니다.FrameworkTemplate.FindName is public instead of protected, and it uses correct name-scoping considerations that allow it to access the template within an element and find named items within it. FrameworkTemplate.FindName부모 컨트롤의 외부에 있는 요소를 가져와야 하는 경우를 사용 합니다.Use FrameworkTemplate.FindName when you need to get an element outside of its parent control.

적용 대상

추가 정보