FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent FrameworkElement.Parent Property


この要素の論理上の親要素を取得します。Gets the logical parent element of this element.

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


この要素の論理上の親。This element's logical parent.

次の例では、要素の親をチェックし、親からのプロパティ値を使用して、一致する子要素のプロパティを設定するコードを示します。The following example shows code that checks for an element's parent, and then uses property values from the parent to set properties on the child element to match. ここで、これらは、表示サイズに影響するプロパティです。In this case these are properties that affect the rendering size.

private void OnUIReady(object sender, System.EventArgs e)
    LinePane.Width = ((StackPanel)LinePane.Parent).ActualWidth;
    LinePane.Height = ((StackPanel)LinePane.Parent).ActualHeight;
    DesignerPane.MouseLeave += new System.Windows.Input.MouseEventHandler(DesignerPane_MouseLeave);
    this.SizeChanged += new SizeChangedEventHandler(Window1_SizeChanged);
Private Sub OnUIReady(ByVal sender As Object, ByVal e As System.EventArgs)
	LinePane.Width = (CType(LinePane.Parent, StackPanel)).ActualWidth
	LinePane.Height = (CType(LinePane.Parent, StackPanel)).ActualHeight
	AddHandler DesignerPane.MouseLeave, AddressOf DesignerPane_MouseLeave
	AddHandler SizeChanged, AddressOf Window1_SizeChanged
End Sub


Parent ありますnull要素がインスタンス化されたがページ レベルのルート要素で、またはアプリケーション オブジェクトに最終的に接続する任意の論理ツリーにアタッチされていない場合。Parent may be null in cases where an element was instantiated, but is not attached to any logical tree that eventually connects to the page level root element, or the application object.

要素の論理上の親が、アプリケーションの機能に応じて変更できます可能性があると、このプロパティの値を保持してもその変更は反映されないことに注意してください。Note that the logical parent of an element can potentially change depending on your application's functionality, and keeping the value of this property will not reflect that change. 通常は値を取得する必要がある直前。You typically should get the value immediately before you need it.

参照してくださいWPF のツリー論理ツリーの走査の詳細およびシナリオを使用したParent検出は、適切な親要素の手法として。See Trees in WPF for more information about logical tree traversal, and the scenarios where using Parent as a technique of parent element discovery is appropriate.

プロパティのエンジンは可能性があると再計算要素のすべてのプロパティ値が親を再指定、いくつかのプロパティは、論理ツリー内の値を継承するため。The property engine will potentially recalculate all property values of an element when it is reparented, because some properties inherit values through the logical tree. DataContext適用の場合に、バインドは変更もできます。The DataContext that applies for bindings can also change when elements are reparented.

要素の親の変更は通常のみ実行コレクションの操作によって、dedicated を使用して追加または削除メソッド、または、要素のコンテンツのプロパティを設定します。Changing an element's parent is typically only done through manipulation of collections, by using dedicated add or remove methods, or through setting content properties of elements.

使用するための最も一般的なシナリオ、Parentプロパティの参照を取得し、取得し、さまざまなFrameworkElement親からプロパティ値。The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkElement property values from the parent. テンプレートの場合、Parentテンプレートの最終的になるnullします。For templates, the Parent of the template eventually will be null. この時点以降に取得し、テンプレートが実際に適用されている論理ツリーに拡張を使用TemplatedParentします。To get past this point and extend into the logical tree where the template is actually applied, use TemplatedParent.

このプロパティが論理ツリーの親と異なる場合、ビジュアル ツリーの親を報告していないことに注意してください。Note that this property does not report visual tree parents in cases where these vary from the logical tree parents. ビジュアル ツリーの親では、通常重要アプリケーションの一般的なケースではないが、visual 特定レベルの場合に必要な親要素があります。Visual tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. 以下を参照してください。VisualTreeHelperSee VisualTreeHelper.