protected override void OnDetached()
        {
            if (effect?.Element == null)
            {
                return;
            }

            mouseTrackingView?.RemoveFromSuperview();
            mouseTrackingView?.Dispose();
            mouseTrackingView = null;
            effect.Element    = null;
            effect            = null;
            if (gesture != null)
            {
                Container?.RemoveGestureRecognizer(gesture);
            }

            gesture?.Dispose();
            gesture = null;
        }