protected override void OnDetached()
        {
            var view = Control ?? Container;

            if (view != null)
            {
                view.BackgroundColor = _DefaultBackgroundColor;
                if (view.Layer != null)
                {
                    view.Layer.MasksToBounds = _DefaultMaskToBounds;
                }
            }

            _BorderLayer?.RemoveFromSuperLayer();
            _BorderLayer = null;

            TapGestureCollector.Delete(_view, TapAction);
            LongTapGestureCollector.Delete(_view, LongTapAction);
            _layer?.Dispose();
            _layer = null;
        }