protected virtual void OnDetached() { // detach a child block view RemoveChild(mTargetBlockView); BlockView detachedView = mTargetBlockView; mTargetBlockView = null; UpdateLayout(XY); detachedView.SetOrphan(); }