FrameworkContentElement.Parent 속성

정의

논리적 트리에서 이 요소의 부모를 가져옵니다.Gets the parent in the logical tree for this element.

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

이 요소의 논리적 부모입니다.The logical parent for this element.

예제

다음 예제에서는 TextPointerParent이 특정 유형 인지 확인 합니다.The following example checks to see whether the Parent of a TextPointer is of a particular type.

// 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

설명

요소의 논리적 부모 애플리케이션 기능에 따라 변경 될 수 있습니다 하 고이 속성의 값을 유지 하면 해당 변경 내용이 반영 되지 note 합니다.Note that the logical parent of an element can potentially change depending on your application 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의 트리 를 참조 하세요.See Trees in WPF for more information about traversing logical trees, and the scenarios where taking this approach towards element discovery is appropriate.

속성 시스템에서는 다시 계산할 수 요소의 모든 속성 값, 부모가 때 일부 속성 논리 트리를 통해 값을 상속 하기 때문에 합니다.The property system 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.

요소의 부모는 일반적으로을 통해 변경할 컬렉션 조작, 전용을 사용 하 여 추가 또는 제거 메서드 또는 요소의 콘텐츠 속성을 설정 합니다.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 속성을 사용 하는 가장 일반적인 시나리오는 참조를 가져온 다음 부모에서 다양 한 FrameworkContentElement 속성 값을 가져오는 것입니다.The most typical scenario for using the Parent property is to obtain a reference and then get various FrameworkContentElement 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.

적용 대상

추가 정보