Поделиться через


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

Имя искомого дочернего элемента.

Возвращаемое значение

Запрошенный элемент. Может иметь значение null, если элемента с запрошенным именем не существует.

Комментарии

Шаблоны в WPF имеют автономную область имен. Это связано с тем, что шаблоны используются повторно, и любое имя, определенное в шаблоне, не может оставаться уникальным, когда несколько экземпляров элемента управления создают его экземпляры. Вызовите метод , GetTemplateChild чтобы вернуть ссылки на объекты, поступающие из шаблона после создания его экземпляра. Вы не можете использовать FrameworkElement.FindName метод для поиска элементов из шаблонов, так как FrameworkElement.FindName действует в более общей области и отсутствует связь между самим классом ControlTemplate и созданным шаблоном после его применения.

FrameworkTemplate.FindName предоставляет ту же функцию, что и этот метод. FrameworkTemplate.FindName является общедоступным, а не защищенным, и в нем используются правильные рекомендации по области имен, которые позволяют ему получить доступ к шаблону в элементе и находить именованные элементы в нем. Используйте, FrameworkTemplate.FindName когда необходимо получить элемент за пределами его родительского элемента управления.

Применяется к

См. также раздел