该应用的主页面设置为NavigationPage
。
我有一个常见的情况,我有一个登录页面(ContentPage
),然后我导航到应用程序的主页面(MasterDetailPage
)。
我在登录页面上运行的代码是这样的:
var mainPage = new MasterDetailTestPage();
await this.Navigation.PushAsync(mainPage);
this.Navigation.RemovePage(this); // remove login page
问题是MasterDetailPage
上无法看到菜单按钮。
如果不是这样,我将主页面设置为app MasterDetailPage
,如下所示:
MainPage = new NavigationPage (new MasterDetailTestPage());
在这种情况下会显示菜单按钮。但这只有在开头设置时才有效。如果应用程序以登录页面开始,然后设置MainPage
。
看起来MasterDetailTestPage
不会显示菜单按钮,除非它是NavigationPage
的根页。
我也在样本应用程序上重现了这一点。
答案 0 :(得分:0)
带有按钮的MasterDetailPage 只有在根页pod update
中设置时才会显示。在你的情况下,你应该做这样的事情。
公共部分类App:应用程序 {
NavigationPage
public App()
{
InitializeComponent();
MainPage = new NavigationPage(new MenuPage());
}
包含带有MenuPage
的MasterDetailPage,然后当导航到另一个页面(List
)时,您可以执行逻辑操作,然后:
LoginPage
现在您可以使用可见按钮返回并导航到public async void login_clicked(object sender ,EventArgs e)
{
//.....your logic
await Navigation.PopToRootAsync();
}
,因为它会删除堆叠中的所有页面。我希望它可以帮助你。