protected override void OnTopPropertyChanged( double oldValue, double newValue )
{
base.OnTopPropertyChanged( oldValue, newValue );
_hasWindowContainer = ( VisualTreeHelper.GetParent( this ) as WindowContainer ) != null;
if( !_hasWindowContainer )
{
Top = GetRestrictedTop();
ProcessMove( 0, newValue - oldValue );
}
}