예제 #1
0
		public override void OnDestroyView()
		{
			if (Page != null)
			{
				if (_visualElementRenderer != null)
				{
					if (_visualElementRenderer.ViewGroup.Handle != IntPtr.Zero)
					{
						_visualElementRenderer.ViewGroup.RemoveFromParent();
					}

					_visualElementRenderer.Dispose();
				}

				if (_pageContainer != null && _pageContainer.Handle != IntPtr.Zero)
				{
					_pageContainer.RemoveFromParent();
					_pageContainer.Dispose();
				}

				Page?.ClearValue(Android.Platform.RendererProperty);
			}

			_onCreateCallback = null;
			_visualElementRenderer = null;
			_pageContainer = null;

			base.OnDestroyView();
		}
예제 #2
0
        public override void OnDestroyView()
        {
            if (Page != null)
            {
                IVisualElementRenderer renderer  = _visualElementRenderer;
                PageContainer          container = _pageContainer;

                if (container.Handle != IntPtr.Zero && renderer.ViewGroup.Handle != IntPtr.Zero)
                {
                    container.RemoveFromParent();
                    renderer.ViewGroup.RemoveFromParent();
                    Page.ClearValue(Android.Platform.RendererProperty);

                    container.Dispose();
                    renderer.Dispose();
                }
            }

            _visualElementRenderer = null;
            _pageContainer         = null;

            base.OnDestroyView();
        }