如何在没有应用程序外壳的情况下使用FlyoutMenu从Xamarin.Forms中的按钮以编程方式加载详细信息页面



我在Xamarin中使用Flyout菜单。没有AppShell的表单和我需要使用另一个详细信息页面中的简单按钮(以编程方式(从现有的已创建页面加载详细信息页面。我该如何实现?有什么机制可以采取这种行动吗?

当然——你有没有试着在Microsoft文档中找到一个例子?

假设您的应用程序主页是弹出型页面(它应该是(,那么您可以简单地调用:

((FlyoutPage)Application.Current.MainPage).Detail = myExistingPage

如果详细信息页面包装在NavigationPage中,您也可以将其用作自己的导航堆栈,在这种情况下,您将执行以下操作:

await ((FlyoutPage)Application.Current.MainPage).Detail.Navigation.PushAsync(myExistingPage);

如果您想使用另一个详细信息页面中的简单按钮(以编程方式(从现有已创建的页面加载详细信息页面,可以使用下面的代码。

private void Button_Clicked(object sender, EventArgs e)
{
FlyoutPage1 flyoutPage1 = new FlyoutPage1();
var page = (Page)Activator.CreateInstance(typeof(Page3));
page.Title = "Page3";
flyoutPage1.Detail = new NavigationPage(page);

Application.Current.MainPage = flyoutPage1;

}

有关FlyoutPage的更多详细信息,您可以查看下面的链接。导航栏下方的下AppShell弹出

最新更新