summaryrefslogtreecommitdiff
path: root/Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs')
-rw-r--r--Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs7
1 files changed, 6 insertions, 1 deletions
diff --git a/Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs b/Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs
index 4a7fe033..b2b0d8b3 100644
--- a/Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs
+++ b/Xamarin.Forms.Platform.UAP/MasterDetailPageRenderer.cs
@@ -163,7 +163,7 @@ namespace Xamarin.Forms.Platform.UWP
protected virtual void OnElementPropertyChanged(object sender, PropertyChangedEventArgs e)
{
- if (e.PropertyName == MasterDetailPage.IsPresentedProperty.PropertyName)
+ if (e.PropertyName == MasterDetailPage.IsPresentedProperty.PropertyName || e.PropertyName == MasterDetailPage.MasterBehaviorProperty.PropertyName)
UpdateIsPresented();
else if (e.PropertyName == "Master")
UpdateMaster();
@@ -286,6 +286,11 @@ namespace Xamarin.Forms.Platform.UWP
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 && Control.IsPaneOpen && Element.MasterBehavior != MasterBehavior.Popover)
+ return;
+
Control.IsPaneOpen = Element.IsPresented;
}