我的 MAUI 应用程序中的 TabbedPage 遇到问题。
该组件在 Android 上工作正常,选项卡按预期工作,但在 iOS 上,它根本不起作用,它只显示一个空白页面,其中没有任何内容,没有错误,没有崩溃,只是纯空白。
我正在使用 Visual Studio 2022 预览版。
在 macOS (Monterey) 上的 iOS 模拟器 (iPhone 13 Pro) 上运行的打印:
在 Android 上运行的打印(真实设备、Poco X3 Pro、MIUI 12.5.7、Android 11):
这是 TabbedPage 的 XAML 代码:
<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="AppColetaLeite.LinhasColeta"
NavigationPage.HasNavigationBar="false"
Title="hello">
<ContentPage Title="Tab 1">
</ContentPage>
<ContentPage Title="Tab 2">
</ContentPage>
<ContentPage Title="Tab 3">
</ContentPage>
</TabbedPage>
这是此页面的隐藏代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace AppColetaLeite
{
public partial class LinhasColeta : TabbedPage
{
public LinhasColeta()
{
InitializeComponent();
}
}
}
我建议使用Shell,直到毛伊岛变得更加稳定并支持所有平台上的控制。
<Application.MainPage>
<Shell BackgroundColor="LightGray">
<TabBar >
<Tab Title="Home" Icon="tab_home.png">
<ShellContent ContentTemplate="{DataTemplate local:ClassesPage}"/>
</Tab>
<Tab Title="Favorites" Icon="tab_favorites.png">
<ShellContent ContentTemplate="{DataTemplate local:GuardientsPage}"/>
</Tab>
<Tab Title="Map" Icon="tab_map.png">
<ShellContent ContentTemplate="{DataTemplate local:StaffPage}"/>
</Tab>
<Tab Title="Settings" Icon="tab_settings.png">
<ShellContent ContentTemplate="{DataTemplate local:MenuPage}"/>
</Tab>
</TabBar>
</Shell>
</Application.MainPage>
请将其复制到您的 App.xaml
<Application xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:local="clr-namespace:AppColetaLeite"
x:Class="AppColetaLeite.LinhasColeta" >
<Application.MainPage>
<Shell BackgroundColor="LightGray">
<TabBar x:Name="PhoneTabs">
<Tab Title="Page1" >
<ShellContent ContentTemplate="{DataTemplate local:Page1}"/>
</Tab>
<Tab Title="Page2" >
<ShellContent ContentTemplate="{DataTemplate local:Page2}"/>
</Tab>
</TabBar>
</Shell>
</Application.MainPage>
</Application>
然后在您的 AppColetaLeite 项目中创建两个毛伊岛内容页面,将其命名为 Page1 和 Page2。
这应该 100% 有效
请退出 NavigationPage.HasNavigationBar="false" del XAML 和 hazlo desde código c#