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 когда необходимо получить элемент за пределами его родительского элемента управления.