/// <summary> /// Dispose the specified disposing. /// </summary> /// <returns>The dispose.</returns> /// <param name="disposing">If set to <c>true</c> disposing.</param> protected override void Dispose(bool disposing) { if (disposing) { if (_command != null) { _command.CanExecuteChanged -= Command_CanExecuteChanged; } Execute = null; _command = null; _indicatorView?.RemoveFromParent(); _indicatorView?.SetImageDrawable(null); _indicatorView?.SetImageBitmap(null); _indicatorView?.Dispose(); _indicatorView = null; _coreView?.RemoveFromParent(); _coreView?.Dispose(); _coreView = null; _container?.RemoveFromParent(); _container?.Dispose(); _container = null; } base.Dispose(disposing); }