次の方法で共有


FrameworkElement.TemplatedParent プロパティ

定義

この要素の親テンプレートへの参照を取得します。 このプロパティは、要素がテンプレートによって作成されていない場合は無効です。

public:
 property System::Windows::DependencyObject ^ TemplatedParent { System::Windows::DependencyObject ^ get(); };
public System.Windows.DependencyObject TemplatedParent { get; }
member this.TemplatedParent : System.Windows.DependencyObject
Public ReadOnly Property TemplatedParent As DependencyObject

プロパティ値

この要素が作成される原因となった FrameworkTemplateVisualTree が属する要素。 この値は、 nullです。

注釈

TemplatedParent は、 null アプリケーション マークアップまたはコードで作成されるオブジェクトに対して頻繁に使用されます。 これは、テンプレートではなく、これらのオブジェクトを直接作成するためです。 ルートから論理ツリーを歩いて取得したオブジェクト参照、または一般的な名前参照によって取得されたオブジェクト参照は、テンプレートから取得されません。

TemplatedParentヒット テスト、特定の低レベル入力イベントに対するイベント処理、ビジュアル ツリーを でVisualTreeHelper歩く、列挙子を操作するなどの操作が含まれていないnull場合は、テンプレートから取得された要素を返す可能性があります。 もう 1 つのケースは、既存FrameworkTemplateの に対して を明示的に呼び出FindNameし、返されたオブジェクトを操作する場合です。

テンプレートは実際には共有オブジェクトであり、テンプレートの内容は 1 回だけ作成されます。 したがって、テンプレートから取得された要素へのオブジェクト参照を取得すると、見かけ上の論理ツリーがページ ルートに到達しないことがあります。 このようなテンプレート参照をページの論理ツリーに接続するには、値を TemplatedParent 取得し、必要に応じてその要素ツリー内を移動し続ける必要があります。

適用対象