protected override void OnAttached() { effect = TouchEffect.PickFrom(Element); if (effect?.IsDisabled ?? true) { return; } effect.Element = (VisualElement)Element; if (Container != null) { gesture = new TouchNSClickGestureRecognizer(effect, Container); Container.AddGestureRecognizer(gesture); Container.AddSubview(mouseTrackingView = new MouseTrackingView(effect)); } }
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; }