FrameworkElement.Parent 속성

정의

이 요소의 논리적 부모 요소를 가져옵니다.Gets the logical parent element of 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

속성 값

이 요소의 논리적 부모입니다.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 합니다.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.

논리 트리 순회에 대 한 자세한 내용 및 부모 요소 검색 기술로 Parent를 사용 하는 시나리오에 대 한 자세한 내용은 WPF의 트리 를 참조 하세요.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.

일반적으로 요소의 부모 변경은 전용 add 또는 remove 메서드를 사용 하거나 요소의 콘텐츠 속성을 설정 하 여 컬렉션 조작을 통해서만 수행 됩니다.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 tree parents are not typically important for general application cases but may be the desired parent elements for certain visual level cases. VisualTreeHelper을 참조하세요.See VisualTreeHelper.

적용 대상

추가 정보