xamarin 是否有一个库或一种方法来编码TabView在.NET MAUI?

ajsxfq5m  于 2023-06-20  发布在  .NET
关注(0)|答案(1)|浏览(143)

我开始使用Xamarin.Forms开发一个应用程序,并正在过渡到. NETMAUI。我在Xamarin Community Toolkit中使用了很多TabView,当我转换到.NET MAUI时,我意识到它不再可用。我在AppShell中使用了TabBar,它看起来像我想要的标签,但不能像TabView一样在两者之间滑动。这是我在AppShell中实现TabBar的代码。

<TabBar Shell.TabBarBackgroundColor="White" Shell.TabBarUnselectedColor="Gray" Shell.TabBarTitleColor="#ffca73">
        <Tab Icon="home.svg" >
            <ShellContent ContentTemplate="{DataTemplate local:MainPage}" Route="MainPage" />
        </Tab>
        <Tab Icon="plus.svg">
            <ShellContent ContentTemplate="{DataTemplate local:SecondPage}" Route="SecondPage" />
        </Tab>
        <Tab Icon="profile.svg">
            <ShellContent ContentTemplate="{DataTemplate local:ThirdPage}" Route="ThirdPage" />
        </Tab>
    </TabBar>

它工作得很好,但为了向左和向右滑动到不同的标签,我应该使用滑动手势识别器来做吗?或者现在有一个图书馆来处理这个问题吗?我看到这个问题是堆栈溢出,这是一个非常相似的问题,但它只显示了标签,并没有与滑动标签工作。
How to use the TabView in MAUI . In Xamarin forms we can use it in the Xamarin toolkit itself
此外,我不确定我是否应该在另一个问题中问这个问题,但TabBar希望我在每个选项卡中放置图标和文本,因此如果我只放置图标,则在图标下方有一个尴尬的空白区域,应该是文本区域,我也不知道如何摆脱它。

eh57zj3b

eh57zj3b1#

是的,您可以将滑动手势识别器添加到页面的根视图中。例如:

<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             x:Class="MauiApp3.MainPage">
            <VerticalStackLayout>
              <VerticalStackLayout.GestureRecognizers>
                <SwipeGestureRecognizer Direction="Left" Swiped="SwipeGestureRecognizer_SwipedLeft"/>
                <SwipeGestureRecognizer Direction="Right" Swiped="SwipeGestureRecognizer_SwipedRight"/>
              </VerticalStackLayout.GestureRecognizers>

           </VerticalStackLayout>
</ContentPage>

在后面的代码中:

private void SwipeGestureRecognizer_SwipedLeft(object sender, SwipedEventArgs e)
    {

    }

    private void SwipeGestureRecognizer_SwipedRight(object sender, SwipedEventArgs e)
    {

    }

相关问题