次の方法で共有


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

検索する子の名前。

戻り値

DependencyObject

要求された要素。 要求した名前の要素が存在しない場合は null になります。

注釈

WPF のテンプレートには、自己完結型の名前スコープがあります。 これは、テンプレートが再利用され、各コントロールの複数のインスタンスがテンプレートをインスタンス化するときに、テンプレートで定義されている名前を一意に保つことができないためです。 インスタンス化された GetTemplateChild 後にテンプレートから取得されたオブジェクトへの参照を返すメソッドを呼び出します。 このメソッドを FrameworkElement.FindName 使用してテンプレート FrameworkElement.FindName から項目を検索することはできません。これは、より一般的なスコープで動作し、適用後にクラス自体とインスタンス化されたテンプレートの間 ControlTemplate に接続がないためです。

FrameworkTemplate.FindName は、このメソッドと同じ関数を提供します。 FrameworkTemplate.FindName は保護されるのではなくパブリックであり、適切な名前スコープに関する考慮事項を使用して、要素内のテンプレートにアクセスし、その中の名前付き項目を検索できるようにします。 親コントロールの外部にある要素を取得する必要がある場合に使用 FrameworkTemplate.FindName します。

適用対象

こちらもご覧ください