FrameworkContentElement.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

プロパティ値

この要素の論理上の親。

次の例では、 の が Parent 特定の TextPointer 型であるかどうかを確認します。

// Traverse content in forward direction until the position is immediately after the opening 
// tag of a Run element, or the end of content is encountered.
while (position != null)
{
    // Is the current position just after an opening element tag?
    if (position.GetPointerContext(LogicalDirection.Backward) == TextPointerContext.ElementStart)
    {
        // If so, is the tag a Run?
        if (position.Parent is Run)
            break;
    }

    // Not what we're looking for; on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward);
}
' Traverse content in forward direction until the position is immediately after the opening 
' tag of a Run element, or the end of content is encountered.
Do While position IsNot Nothing
    ' Is the current position just after an opening element tag?
    If position.GetPointerContext(LogicalDirection.Backward) = TextPointerContext.ElementStart Then
        ' If so, is the tag a Run?
        If TypeOf position.Parent Is Run Then
            Exit Do
        End If
    End If

    ' Not what we're looking for on to the next position.
    position = position.GetNextContextPosition(LogicalDirection.Forward)
Loop

注釈

要素の論理親は、アプリケーションの機能に応じて変更される可能性があり、このプロパティの値を維持すると、その変更は反映されないことに注意してください。 通常、値は必要になる直前に取得する必要があります。

論理 ツリーの 走査の詳細と、このアプローチを要素検出に向けて行うのが適切なシナリオについては、「WPF のツリー」を参照してください。

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

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

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

適用対象

こちらもご覧ください