FrameworkElement.GetTemplateChild(String) Metoda

Definicja

Zwraca nazwany element w drzewie wizualnym ControlTemplatewystąpienia.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

Parametry

childName
String

Nazwa elementu podrzędnego do znalezienia.Name of the child to find.

Zwraca

DependencyObject

Żądany element.The requested element. Może być null, jeśli nie istnieje żaden element żądanej nazwy.May be null if no element of the requested name exists.

Uwagi

Szablony w WPFWPF mają namescope samodzielny.Templates in WPFWPF have a self-contained namescope. Wynika to z faktu, że szablony są ponownie używane, a jakakolwiek nazwa zdefiniowana w szablonie nie może pozostawać unikatowa, gdy wiele wystąpień formantu każdy tworzy jego szablon.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. Wywołaj metodę GetTemplateChild, aby zwrócić odwołania do obiektów, które pochodzą z szablonu po jego utworzeniu.Call the GetTemplateChild method to return references to objects that come from the template after it is instantiated. Nie można użyć metody FrameworkElement.FindName do znajdowania elementów z szablonów, ponieważ FrameworkElement.FindName działa w bardziej ogólnym zakresie i nie istnieje połączenie między klasą ControlTemplate i szablonem skonkretyzowanym po jego zastosowaniu.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 dostarcza tę samą funkcję, co ta metoda.FrameworkTemplate.FindName supplies the same function as this method. FrameworkTemplate.FindName jest publiczna, a nie jest chroniona i używa prawidłowych zagadnień dotyczących określania nazw, które pozwalają na dostęp do szablonu w obrębie elementu i znajdować nazwane elementy w nim.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. Użyj FrameworkTemplate.FindName, gdy musisz uzyskać element poza jego kontrolką nadrzędną.Use FrameworkTemplate.FindName when you need to get an element outside of its parent control.

Dotyczy

Zobacz też