FrameworkElement.GetTemplateChild(String) Method


인스턴스화된 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.


WPFWPF 템플릿에는 자체 포함 된 이름 범위가 있습니다.Templates in WPFWPF 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는 보다 일반적인 범위에서 작동 하 고 ControlTemplate 클래스 자체와 인스턴스화된 템플릿이 적용 된 후에는 연결 되지 않으므로 FrameworkElement.FindName 메서드를 사용 하 여 템플릿에서 항목을 찾을 수 없습니다.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.

Applies to

See also