Прочитать на английском

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


FrameworkElement.GetTemplateChild(String) Метод

Определение

Возвращает именованный элемент в визуальном дереве объекта ControlTemplate, для которого создан экземпляр.

C#
protected internal System.Windows.DependencyObject GetTemplateChild(string childName);

Параметры

childName
String

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

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

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

Комментарии

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

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

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

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9, 10

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