protected override void OnElementChanged(ElementChangedEventArgs <Page> e) { base.OnElementChanged(e); if (e.OldElement != null) { dispose(); } if (e.NewElement != null) { dispose(); //make sure we clear stuff out _formsPage = (e.NewElement as ItemContentPage); _view = new ItemContentLayout(Context); AddView(_view); _view.Post(() => { if (_formsPage != null && _view != null) { _formsPage.SetNativeViewAsync(_view); } }); } }
private void dispose() { if (_formsPage != null) { _formsPage.ClearNativeView(); _formsPage = null; } if (_view != null) { _view.RemoveFromParent(); _view.Dispose(); _view = null; } }