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 を使用します。

適用対象

こちらもご覧ください