我正在使用Xamarin Forms创建一个应用程序,在该应用程序中,当用户首次启动应用程序时,会将它们发送到登录页面。他们登录后,将被重定向到MasterPage,即MasterDetail页面。但是,当我尝试导航到新的MasterDetail页面时,我只会看到Detail页面,并且缺少显示Master Portion的按钮。应用栏上唯一出现的是我设置的标题。我目前正像这样去MasterPage:
App.Current.MainPage = new NavigationPage(new MasterPage())
{
Title = "Welcome " + user.firstName
};
进行其他所有操作都不是问题,因为当用户打开应用程序时,它会自动将其登录并直接进入MasterPage,除非是首次使用时。但是,这对我来说是一个非常重要的问题,因为它发生在用户首次使用我的应用程序时,这将是他们的第一印象。
使用时MasterDetailpage
,请勿将其包装到中Navigationpage
(如您的代码示例)。因为MasterDetailPage
应该总是在顶部而不是在内部NavigationPage
。
要在不同页面之间导航,您应该DetailPage
从中包装您的MasterDetailPage
内容NavigationPage
。
这里有一些代码需要澄清:
var view = new MyFirstPage();
Application.Current.MainPage = new MasterPage(view);
在MasterPage构造函数中,执行以下操作:
public MasterPage(Page detailpage)
{
// Set the master-part
Master = new MasterContentPage();
// Set detail-part (with a navigation page)
Detail = new NavigationPage(detailpage);
}
之后,您可以使用以下导航在应用内部导航:
var mdp = Application.Current.MainPage as MasterDetailPage;
await mdp.Detail.Navigation.PushAsync(myNextPage);
我通常创建一个静态助手类AppNavigator
来完成这些工作。
有关更多信息,请参阅Xamarin开发人员指南上的MasterDetailPage说明。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句