FrameworkElement.TemplatedParent FrameworkElement.TemplatedParent FrameworkElement.TemplatedParent FrameworkElement.TemplatedParent Property


この要素の親テンプレートへの参照を取得します。Gets a reference to the template parent of this element. このプロパティは、要素がテンプレートによって作成されていない場合は無効です。This property is not relevant if the element was not created through a template.

 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 が属する要素。The element whose FrameworkTemplateVisualTree caused this element to be created. この値は、 nullです。This value is frequently null.


TemplatedParentは、 nullアプリケーションのマークアップまたはコードで作成されるオブジェクトに対して頻繁に使用されます。TemplatedParent is frequently null for objects that are created in your application markup or code. これは、テンプレートを使用せずに、これらのオブジェクトを直接作成するためです。This is because you create those objects directly, not via a template. ルートまたは一般的な名前参照によって論理ツリーをウォークすることによって取得されたオブジェクト参照は、テンプレートからのものではありません。Object references obtained by walking the logical tree from the root, or by typical name references, do not come from a template.

ヒットテスト、特定のnull低レベルの入力イベントのイベント処理、ビジュアルツリー VisualTreeHelperのウォーク、列挙子の操作などの操作が含まれない場合があります。 TemplatedParentテンプレートから。Cases where TemplatedParent might not be null include operations such as hit-testing, event handling for certain low-level input events, walking the visual tree with VisualTreeHelper, or working with enumerators, which might return elements that came from templates. また、既存FrameworkTemplateのに対してFindNameを明示的に呼び出し、返されたオブジェクトを操作する場合もあります。Another case is if you specifically call FindName against an existing FrameworkTemplate and are work with the returned object.

テンプレートは実際には共有オブジェクトであり、テンプレートの内容は一度だけ作成されます。Templates are actually shared objects, where the contents of the template are created only once. したがって、テンプレートからの要素へのオブジェクト参照を取得した場合、見かけ上の論理ツリーがページルートに届かないことがあります。Therefore, if you obtain an object reference to an element that came from a template, you may find that the apparent logical tree does not reach to the page root. このようなテンプレート参照をページの論理ツリーに接続するには、 TemplatedParent値を取得し、必要に応じてその要素ツリー内を移動し続ける必要があります。In order to connect such a template reference to the page's logical tree, you should get the TemplatedParent value and continue to navigate that element tree as desired.