다음을 통해 공유


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

속성 값

이 요소의 논리적 부모입니다.

예제

다음 예제에서는 요소의 부모를 확인한 다음 부모 속성 값을 사용하여 일치하는 자식 요소의 속성을 설정하는 코드를 보여줍니다. 이 경우 렌더링 크기에 영향을 주는 속성이 있습니다.

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 는 요소가 인스턴스화되었지만 결국 페이지 수준 루트 요소 또는 애플리케이션 개체에 연결되는 논리 트리에 연결되지 않은 경우일 수 있습니다.

요소의 논리적 부모는 애플리케이션의 기능에 따라 잠재적으로 변경될 수 있으며 이 속성의 값을 유지해도 해당 변경 내용이 반영되지 않습니다. 일반적으로 필요한 즉시 값을 가져와야 합니다.

논리 트리 순회에 대한 자세한 내용은 WPF의 트리 를 참조하고 부모 요소 검색 기술로 사용하는 Parent 것이 적절한 시나리오를 참조하세요.

속성 엔진은 일부 속성이 논리 트리를 통해 값을 상속하기 때문에 재부모할 때 요소의 모든 속성 값을 다시 계산할 수 있습니다. 바인딩에 적용되는 항목은 DataContext 요소가 다시 매개 변수가 될 때도 변경될 수 있습니다.

요소의 부모 변경은 일반적으로 컬렉션 조작, 전용 추가 또는 제거 메서드 사용 또는 요소의 콘텐츠 속성 설정을 통해서만 수행됩니다.

속성을 사용하는 Parent 가장 일반적인 시나리오는 참조를 가져온 다음 부모로부터 다양한 FrameworkElement 속성 값을 가져오는 것입니다. 템플릿의 경우 템플릿의 Parent 최종 결과는 다음과 같습니다 null. 이 지점을 지나 템플릿이 실제로 적용되는 논리 트리로 확장하려면 다음을 사용합니다 TemplatedParent.

이 속성은 논리적 트리 부모와 다른 경우 시각적 트리 부모를 보고하지 않습니다. 시각적 트리 부모는 일반적으로 일반적인 애플리케이션 사례에는 중요하지 않지만 특정 시각적 수준 사례에 대해 원하는 부모 요소일 수 있습니다. VisualTreeHelper을(를) 참조하세요.

적용 대상

추가 정보