cva*_*eek 5 xamarin xamarin.forms
我正在使用Xamarin Forms创建一个应用程序,当用户第一次启动应用程序时,它们会被发送到登录页面.一旦他们登录,他们就会被重定向到MasterPage,这是一个MasterDetail页面.但是,当我尝试导航到新的MasterDetail页面时,我只获得了详细页面,并且缺少显示主部分的按钮.应用栏上出现的唯一内容是我设置的标题.我目前正在使用这样的MasterPage:
App.Current.MainPage = new NavigationPage(new MasterPage())
{
Title = "Welcome " + user.firstName
};
Run Code Online (Sandbox Code Playgroud)
每次运行,这都不是问题,因为当用户打开应用程序时,它会自动将它们登录并直接进入MasterPage,除非在第一次使用时.但是,这对我来说是一个非常重要的问题,因为它发生在用户第一次使用我的应用程序时,它将成为他们第一印象的一部分.
当你使用a时MasterDetailpage
,你不应该把它包装成一个Navigationpage
(就像你的代码示例一样).因为MasterDetailPage
应该每次都在顶部,而不是在一个内部NavigationPage
.
要在不同的页面之间导航,你应该DetailPage
从MasterDetailPage
内部包装你NavigationPage
.
这里有一些代码需要澄清:
var view = new MyFirstPage();
Application.Current.MainPage = new MasterPage(view);
Run Code Online (Sandbox Code Playgroud)
在MasterPage构造函数中,执行以下操作:
public MasterPage(Page detailpage)
{
// Set the master-part
Master = new MasterContentPage();
// Set detail-part (with a navigation page)
Detail = new NavigationPage(detailpage);
}
Run Code Online (Sandbox Code Playgroud)
之后,您可以使用此导航在应用内导航:
var mdp = Application.Current.MainPage as MasterDetailPage;
await mdp.Detail.Navigation.PushAsync(myNextPage);
Run Code Online (Sandbox Code Playgroud)
我通常会创建一个静态助手类AppNavigator
来完成这些工作.
有关详细信息,请查看Xamarin开发人员指南中的MasterDetailPage说明.
归档时间: |
|
查看次数: |
6228 次 |
最近记录: |