我试图使用xamarin表单构建应用程序。 我有一个使用MasterDetail页面实现的导航抽屉。当用户按下后退按钮并再次旋转同一屏幕时,我需要重置MasterDetail的内容。在尝试这样做时我得到了以下错误:
System.InvalidOperationException:Master必须没有父级。
任何帮助都会非常感激。感谢
答案 0 :(得分:0)
我尝试将新的MasterdetailPage()设置为Application.Current.MainPage时遇到了同样的问题。 MasterdetailPage.Detail中的上一页内容保留在内存中,由于MessagingCenter无法取消订阅,因此可能导致事件触发两次。
解决方案是在Global变量中保存MasterDetailPage的实例,并将此实例重用于Application.Current.MainPage。这样就不会创建新页面了。
答案 1 :(得分:0)
您可以在设置masterdetailpage实例之前清除新页面的父级。
newPage.Parent = null;
MyMasterDetailPage.Instance.Detail = newPage;