我有一个带有两个页面的选项卡式页面,即第 1 页和第 2 页。当选项卡式页面打开时,它会正确显示第 1 页,并且栏会显示在标题第 1 页下。然后选择第 2 页,第 2 页就会正确显示,并且栏会显示在第 2 页标题下。
如果我随后选择第 2 页,则关闭该页面。然后重新打开(选项卡式页面的新实例),第 1 页会正确显示,但第 1 页标题和第 2 页标题下方都有栏!
这是TabbedPage 代码:
namespace MauiTestApp;
public class MyTabbedPage : TabbedPage
{
public MyTabbedPage()
{
ContentPage page1 = new ContentPage();
page1.Title = "Page 1";
ContentPage page2 = new ContentPage();
page2.Title = "Page 2";
this.Children.Add(page1);
this.Children.Add(page2);
ToolbarItems.Add(new ToolbarItem("Back", null, async () =>
{
await Navigation.PopModalAsync(true);
}));
}
}
并将 StartPage – 将您的 MainPage 设置为以下新实例:
namespace MauiTestApp;
public class StartPage : ContentPage
{
public StartPage()
{
Button tabbedPageButton = new Button();
tabbedPageButton.Text = "Open Tabbed Page";
tabbedPageButton.Clicked += TabbedPageButton_Clicked;
Content = new VerticalStackLayout
{
Children = { tabbedPageButton
}
};
}
private async void TabbedPageButton_Clicked(object? sender, EventArgs e)
{
await Navigation.PushModalAsync(new NavigationPage(new MyTabbedPage()));
}
}
我已经在 GitHub 上记录了这个问题 - https://github.com/dotnet/maui/issues/26069 - 但如果有人能想到解决这个问题的方法(因为毫无疑问修复还需要几个月的时间)我将非常感激!
这是我的解决方案。返回默认的第一项。