FrameworkElement.OnVisualParentChanged(DependencyObject) FrameworkElement.OnVisualParentChanged(DependencyObject) FrameworkElement.OnVisualParentChanged(DependencyObject) FrameworkElement.OnVisualParentChanged(DependencyObject) Method

정의

시각적 트리에서 이 요소의 부모가 변경될 때 호출됩니다.Invoked when the parent of this element in the visual tree is changed. OnVisualParentChanged(DependencyObject)를 재정의합니다.Overrides OnVisualParentChanged(DependencyObject).

protected public:
 override void OnVisualParentChanged(System::Windows::DependencyObject ^ oldParent);
protected internal override void OnVisualParentChanged (System.Windows.DependencyObject oldParent);
override this.OnVisualParentChanged : System.Windows.DependencyObject -> unit
Protected Friend Overrides Sub OnVisualParentChanged (oldParent As DependencyObject)

매개 변수

oldParent
DependencyObject DependencyObject DependencyObject DependencyObject

이전 부모 요소입니다.The old parent element. 요소가 이전에 시각적 부모를 포함하지 않았음을 나타내기 위해 null이 될 수 있습니다.May be null to indicate that the element did not have a visual parent previously.

설명

시각적 트리는 컬렉션과 같은 시각적으로 렌더링 되지 않는 요소를 생략 하기 때문에 잠재적으로 다른 논리적 트리는 하 고 해당 테마 및 스타일 합치기를 기준으로 일부 요소를 확장 합니다.The visual tree is potentially different from the logical tree because it omits elements that do not render visually, such as collections, and expands some elements on the basis of their theme and style compositing. 자세한 내용은 WPF의 트리를 참조하세요.For more information, see Trees in WPF.

상속자 참고

새 부모에 대 한 쿼리, 다양 한 초기화 이벤트를 발생 시키는 및 초기화 상태에 대 한 내부 플래그를 설정 합니다.이 가상 메서드의 기본 구현 된 FrameworkElement 적절 하 게 합니다.The default implementation of this virtual method queries for the new parent, raises various initialization events, and sets internal flags about initialization state of the FrameworkElement as appropriate. 마지막으로으로 선언 된 연속적인 기본 구현을 호출 UIElement를 차례로 호출 하는 기준 Visual입니다.Finally, it calls the successive base implementations as declared by UIElement, which in turn calls its base in Visual. 항상이 동작을 유지 하는 기본 구현을 호출, 그렇지 않으면 다른 요소의 자식으로 선언 하는 경우이 요소에 대 한 요소 트리 동작 하지 않을 예상 대로입니다.Always call the base implementation to preserve this behavior, otherwise the element tree behavior for this element when declared as a child of another element may not be as expected.

몇 가지 기존 WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) 클래스 예를 들어이 메서드를 재정의 합니다. OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject)합니다.A few existing WPF(Windows Presentation Foundation)Windows Presentation Foundation (WPF) classes override this method, for example: OnVisualParentChanged(DependencyObject), OnVisualParentChanged(DependencyObject). 가장 일반적인 시나리오 새 부모 특정 형식 되도록 적용 하는 것입니다.The most common scenario is to enforce that the new parent must be a particular type. 새 부모 형식 테스트를 통과 하지 못하면 예외를 throw 할 수 있습니다.This might involve throwing an exception if the new parent failed some manner of type test. 이 시나리오의 특수 버전 목록 항목 및 메뉴 항목에 사용할 수 없는 부모 외부 visual 저장 하기에 적절 한 컬렉션을 소유 하는 구현에 존재 합니다.A specialized version of this scenario exists in implementations for list items and menu items, which do not make any sense outside a parent visual that owns an appropriate collection to store them in. Note "일반" 마이그레이션된다 하지 않고 일시적으로 요소를 부모 재지정에 의존 하는 디자이너 시나리오 수 있으므로 이러한 경우 반드시 예외를 발생 하 고 하지 않습니다.Note that these cases do not necessarily raise exceptions, because there might be designer scenarios that rely on reparenting elements that are momentarily without their "regular" parents.

일반적으로 루트 요소와 같은 특정 요소에서이 메서드를 재정의 Window합니다.This method is also overridden in certain elements that are typically the root element, such as Window. 또 다른 경우에는 있지만 태그에서는 루트 요소는 요소는 자동 생성 컴파일된 논리 트리의 큰 인프라 (같은 Page).Another case is elements that are the apparent root element in markup but which autogenerate a greater infrastructure in a compiled logical tree (such as Page). 합니다 WindowPage 구현에서는 메서드가 봉인 합니다.The Window and Page implementations deliberately seal the method.

적용 대상

추가 정보