Xamarin 删除上一页后,菜单按钮在MasterDetailPage上不可见
应用程序的主页被设置为Xamarin 删除上一页后,菜单按钮在MasterDetailPage上不可见,xamarin,xamarin.forms,Xamarin,Xamarin.forms,应用程序的主页被设置为导航页面 我有一个常见的场景,我有一个登录页面(ContentPage),然后导航到应用程序的主页(MasterDetailPage) 我在登录页面上运行的代码如下所示: var mainPage = new MasterDetailTestPage(); await this.Navigation.PushAsync(mainPage); this.Navigation.RemovePage(this); // remove login page 问题是菜单按钮在Mas
导航页面
我有一个常见的场景,我有一个登录页面(ContentPage
),然后导航到应用程序的主页(MasterDetailPage
)
我在登录页面上运行的代码如下所示:
var mainPage = new MasterDetailTestPage();
await this.Navigation.PushAsync(mainPage);
this.Navigation.RemovePage(this); // remove login page
问题是菜单按钮在MasterDetailPage
上不可见
如果在应用程序启动时,我将主页设置为MasterDetailPage
,如下所示:
var mainPage = new MasterDetailTestPage();
await this.Navigation.PushAsync(mainPage);
this.Navigation.RemovePage(this); // remove login page
MainPage=newNavigationPage(newMasterDetailTestPage())代码>
在这种情况下,将显示菜单按钮。但这只有在一开始就设置好的情况下才有效。如果应用程序以登录页面开始,然后设置MainPage
,则它不起作用
看起来,MasterDetailTestPage
不显示菜单按钮,除非它是NavigationPage
的根页面
我也在一个示例应用程序上复制了这一点。
- MasterDetailPagewith按钮仅在根页面a
NavigationPage
中设置时才会出现。在你的情况下,你应该这样做
公共部分类应用程序:应用程序
{
MenuPage
包含带有列表的MasterDetailPage
,然后当导航到另一页(LoginPage
)时,您可以执行逻辑,然后:
public async void login_clicked(object sender ,EventArgs e)
{
//.....your logic
await Navigation.PopToRootAsync();
}
- 现在,您可以通过一个可见的按钮返回并导航到您的
MasterDetailPage
,因为它会删除堆栈中的所有页面。我希望它对您有所帮助
- MasterDetailPagewith按钮只有在根页面a
NavigationPage
中设置时才会出现。在您的情况下,您应该这样做
公共部分类应用程序:应用程序
{
MenuPage
包含带有列表的MasterDetailPage
,然后当导航到另一页(LoginPage
)时,您可以执行逻辑,然后:
public async void login_clicked(object sender ,EventArgs e)
{
//.....your logic
await Navigation.PopToRootAsync();
}
- 现在,您可以通过一个可见的按钮返回并导航到您的
MasterDetailPage
,因为它会删除堆栈中的所有页面。我希望它对您有所帮助