Maui - TabbedPage 当前页面指示器可能错误 [Windows]

问题描述 投票:0回答:1

我有一个标签页,上面有两个页面,第1页和第2页。标签页打开时,它正确显示第1页,并且标题栏显示在第1页标题下。然后选择第2页,第2页是正确显示,并且该栏位于第 2 页标题下方。

如果我选择第 2 页,请关闭该页面。然后重新打开(选项卡式页面的新实例),第 1 页正确显示,但第 1 页标题和第 2 页标题下方都有栏!

enter image description here

这是 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);
        }));
    }
}

起始页 - 将您的主页设置为其新实例:

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 - 但如果有人能想出一种方法来解决这个问题(毫无疑问,修复还需要几个月的时间) )我将非常感激!

windows maui indicator tabbedpage
1个回答
0
投票

这是我的解决方案。回到默认的第一项。

  ToolbarItems.Add(new ToolbarItem("Back",null,async () =>{
      this.CurrentPage = this.Children[0];
      await Navigation.PopModalAsync(true);
  }));
© www.soinside.com 2019 - 2024. All rights reserved.