diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Android/Renderers/MasterDetailRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Android/Renderers/MasterDetailRenderer.cs | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/Xamarin.Forms.Platform.Android/Renderers/MasterDetailRenderer.cs b/Xamarin.Forms.Platform.Android/Renderers/MasterDetailRenderer.cs index 09c0c7c7..ec9c620e 100644 --- a/Xamarin.Forms.Platform.Android/Renderers/MasterDetailRenderer.cs +++ b/Xamarin.Forms.Platform.Android/Renderers/MasterDetailRenderer.cs @@ -44,6 +44,10 @@ namespace Xamarin.Forms.Platform.Android } } + IPageController MasterPageController => _page.Master as IPageController; + IPageController DetailPageController => _page.Detail as IPageController; + IPageController PageController => Element as IPageController; + public void OnDrawerClosed(AView drawerView) { } @@ -184,13 +188,13 @@ namespace Xamarin.Forms.Platform.Android protected override void OnAttachedToWindow() { base.OnAttachedToWindow(); - ((Page)Element).SendAppearing(); + PageController.SendAppearing(); } protected override void OnDetachedFromWindow() { base.OnDetachedFromWindow(); - ((Page)Element).SendDisappearing(); + PageController.SendDisappearing(); } protected virtual void OnElementChanged(VisualElement oldElement, VisualElement newElement) @@ -256,20 +260,14 @@ namespace Xamarin.Forms.Platform.Android void MasterDetailPageAppearing(object sender, EventArgs e) { - if (_page.Master != null) - _page.Master.SendAppearing(); - - if (_page.Detail != null) - _page.Detail.SendAppearing(); + MasterPageController?.SendAppearing(); + DetailPageController?.SendAppearing(); } void MasterDetailPageDisappearing(object sender, EventArgs e) { - if (_page.Master != null) - _page.Master.SendDisappearing(); - - if (_page.Detail != null) - _page.Detail.SendDisappearing(); + MasterPageController?.SendDisappearing(); + DetailPageController?.SendDisappearing(); } void OnBackButtonPressed(object sender, BackButtonPressedEventArgs backButtonPressedEventArgs) |