protected override void Dispose(bool disposing) { if (_disposed) { return; } _disposed = true; if (disposing) { Device.Info.PropertyChanged -= DeviceInfoPropertyChanged; if (Element != null) { MasterDetailPageController.BackButtonPressed -= OnBackButtonPressed; Element.PropertyChanged -= HandlePropertyChanged; Element.Appearing -= MasterDetailPageAppearing; Element.Disappearing -= MasterDetailPageDisappearing; } if (_masterLayout?.ChildView != null) { _masterLayout.ChildView.PropertyChanged -= HandleMasterPropertyChanged; } if (!this.IsDisposed()) { RemoveDrawerListener(this); } if (_tracker != null) { _tracker.Dispose(); _tracker = null; } if (_detailLayout != null) { RemoveView(_detailLayout); _detailLayout.Dispose(); _detailLayout = null; } if (_masterLayout != null) { RemoveView(_masterLayout); _masterLayout.Dispose(); _masterLayout = null; } if (Element != null) { Element.ClearValue(Android.Platform.RendererProperty); Element = null; } } base.Dispose(disposing); }
protected override void Dispose(bool disposing) { if (disposing && !_disposed) { _disposed = true; if (_tracker != null) { _tracker.Dispose(); _tracker = null; } if (_detailLayout != null) { _detailLayout.Dispose(); _detailLayout = null; } if (_masterLayout != null) { _masterLayout.Dispose(); _masterLayout = null; } Device.Info.PropertyChanged -= DeviceInfoPropertyChanged; if (Element != null) { MasterDetailPageController.BackButtonPressed -= OnBackButtonPressed; Element.PropertyChanged -= HandlePropertyChanged; Element.Appearing -= MasterDetailPageAppearing; Element.Disappearing -= MasterDetailPageDisappearing; Element.ClearValue(Android.Platform.RendererProperty); Element = null; } } base.Dispose(disposing); }