次の方法で共有


FrameworkElement.Parent プロパティ

定義

この要素の論理上の親要素を取得します。

public:
 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

プロパティ値

DependencyObject

この要素の論理上の親。

次の例は、要素の親をチェックし、親のプロパティ値を使用して、一致する子要素のプロパティを設定するコードを示しています。 この場合、これらはレンダリング サイズに影響を与えるプロパティです。

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 することが適切なシナリオについては、WPF のツリーを参照してください。

一部のプロパティは論理ツリーを介して値を継承するため、親を変更すると、プロパティ エンジンによって要素のすべてのプロパティ値が再計算される可能性があります。 バインドに適用される要素は DataContext 、要素の親を変更するときにも変更できます。

通常、要素の親の変更は、コレクションの操作、専用の追加メソッドまたは削除メソッドの使用、または要素のコンテンツ プロパティの設定によってのみ行われます。

プロパティを使用 Parent する最も一般的なシナリオは、参照を取得してから、親からさまざまな FrameworkElement プロパティ値を取得することです。 テンプレートの場合、 Parent テンプレートの最終的 nullには . この点を超えて、テンプレートが実際に適用される論理ツリーに拡張するには、 TemplatedParent.

論理ツリーの親と異なる場合、このプロパティはビジュアル ツリーの親を報告しないことに注意してください。 通常、ビジュアル ツリーの親は、一般的なアプリケーション ケースでは重要ではありませんが、特定のビジュアル レベルのケースで必要な親要素になる場合があります。 以下を参照してください。VisualTreeHelper

適用対象

こちらもご覧ください