summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.WinRT
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.WinRT')
-rw-r--r--Xamarin.Forms.Platform.WinRT/MasterDetailPageRenderer.cs8
1 files changed, 8 insertions, 0 deletions
diff --git a/Xamarin.Forms.Platform.WinRT/MasterDetailPageRenderer.cs b/Xamarin.Forms.Platform.WinRT/MasterDetailPageRenderer.cs
index dcef680e..dfeb3921 100644
--- a/Xamarin.Forms.Platform.WinRT/MasterDetailPageRenderer.cs
+++ b/Xamarin.Forms.Platform.WinRT/MasterDetailPageRenderer.cs
@@ -168,7 +168,10 @@ namespace Xamarin.Forms.Platform.WinRT
else if (e.PropertyName == MasterDetailPage.IsPresentedProperty.PropertyName)
UpdateIsPresented();
else if (e.PropertyName == MasterDetailPage.MasterBehaviorProperty.PropertyName)
+ {
UpdateBehavior();
+ UpdateIsPresented();
+ }
else if (e.PropertyName == Page.TitleProperty.PropertyName)
UpdateTitle();
}
@@ -276,6 +279,11 @@ namespace Xamarin.Forms.Platform.WinRT
void UpdateIsPresented()
{
+ // Ignore the IsPresented value being set to false for Split mode on desktop and allow the master
+ // view to be made initially visible
+ if ((Device.Idiom == TargetIdiom.Desktop || Device.Idiom == TargetIdiom.Tablet) && _container.IsMasterVisible && !Element.IsPresented && Element.MasterBehavior != MasterBehavior.Popover)
+ return;
+
UpdateBehavior();
bool isPresented = !GetIsMasterAPopover() || Element.IsPresented;