Invoked when the parent element of this UIElement reports a change to its underlying visual parent.
protected internal override void OnVisualParentChanged(
The previous parent. This may be provided as null if the DependencyObject did not have a parent element previously.
If you override this method, always call the base implementation. The default base implementation performs some internal maintenance of reverse-inherited property state. Failing to call the base implementation will invalidate this state.
This method overrides Visual.OnVisualParentChanged. FrameworkElement and Window both also override the UIElement implementation of OnVisualParentChanged, and Window seals it.