Xamarin Forms:第二页上的 MasterDetail 按钮
Xamarin Forms: MasterDetail button on a second page
在我的项目页面(MAsterDetail 表单)中,我的应用程序有一组按钮来导航每个第二页。
如何通过汉堡图标打开第二页访问侧边菜单?
我导航到第二页的代码是
Application.Current.MainPage = new NavigationPage(new MySecondPage());
async void ButtonClicked(object sender, EventArgs e)
{
Button btn = sender as Button;
int btnId = int.Parse((sender as Button).CommandParameter.ToString());
switch (btnId)
{
case (1):
Application.Current.MainPage = new NavigationPage(new MySecondPage());
break;
case (2):
// button 2 action
case (3):
// button 3 action
break;
}
}
提前致谢。
你做错了,你的代码的问题是你 "reseting" 导航堆栈使用:
Application.Current.MainPage = new NavigationPage(new MySecondPage());
因此,每次您将MySecondPage
设置为应用程序的主页时。
要实现你想要的,只需使用:
Detail = new NavigationPage(new MySecondPage());
像这样使用 MasterDetail
页面,您会将页面设置为 Detail
。
试试上面的代码,应该没问题。同样在 2 年前,我用 MasterDetail
主页制作了这个小示例,也许它对您也有帮助。你可以找到它 here.
祝您编码顺利!
在我的项目页面(MAsterDetail 表单)中,我的应用程序有一组按钮来导航每个第二页。 如何通过汉堡图标打开第二页访问侧边菜单?
我导航到第二页的代码是
Application.Current.MainPage = new NavigationPage(new MySecondPage());
async void ButtonClicked(object sender, EventArgs e)
{
Button btn = sender as Button;
int btnId = int.Parse((sender as Button).CommandParameter.ToString());
switch (btnId)
{
case (1):
Application.Current.MainPage = new NavigationPage(new MySecondPage());
break;
case (2):
// button 2 action
case (3):
// button 3 action
break;
}
}
提前致谢。
你做错了,你的代码的问题是你 "reseting" 导航堆栈使用:
Application.Current.MainPage = new NavigationPage(new MySecondPage());
因此,每次您将MySecondPage
设置为应用程序的主页时。
要实现你想要的,只需使用:
Detail = new NavigationPage(new MySecondPage());
像这样使用 MasterDetail
页面,您会将页面设置为 Detail
。
试试上面的代码,应该没问题。同样在 2 年前,我用 MasterDetail
主页制作了这个小示例,也许它对您也有帮助。你可以找到它 here.
祝您编码顺利!