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 是公共的,而不是受保护的,它使用正确的名称范围注意事项,允许它访问元素中的模板,并在其中查找命名项。 需要在其父控件之外获取元素时使用 FrameworkTemplate.FindName

适用于

另请参阅