/// <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) { CellBase.PropertyChanged -= CellPropertyChanged; CellParent.PropertyChanged -= ParentPropertyChanged; if (CellBase.Section != null) { CellBase.Section.PropertyChanged -= SectionPropertyChanged; CellBase.Section = null; } HintLabel?.Dispose(); HintLabel = null; TitleLabel?.Dispose(); TitleLabel = null; DescriptionLabel?.Dispose(); DescriptionLabel = null; IconView?.SetImageDrawable(null); IconView?.SetImageBitmap(null); IconView?.Dispose(); IconView = null; ContentStack?.Dispose(); ContentStack = null; AccessoryStack?.Dispose(); AccessoryStack = null; Cell = null; _iconTokenSource?.Dispose(); _iconTokenSource = null; _Context = null; _backgroundColor?.Dispose(); _backgroundColor = null; _selectedColor?.Dispose(); _selectedColor = null; _ripple?.Dispose(); _ripple = null; Background?.Dispose(); Background = null; } base.Dispose(disposing); }