以 xamarin 形式控制选项卡视图

control Tab view in xamarin forms

我在我的 xamarin 应用程序应用程序中设计了一个选项卡视图,我需要通过导航来控制它并显示特定页面,我默认将它放在第一页并想导航第二页。

这是我的 TabView :

  <Grid>
                <xct:TabView
                TabStripPlacement="Bottom"
                TabStripBackgroundColor="White"
                TabStripHeight="60"
                TabIndicatorColor="#2196f3"
                TabContentBackgroundColor="#2196f3">

                    <xct:TabViewItem
                    Icon="triangle.png"
                    Text="Patient Details"
                    TextColor="#2196f3"
                    TextColorSelected="#2196f3"
                    FontSize="12"
                        >
                        <Grid 
                        BackgroundColor="Gray">
                            <Label
                            HorizontalOptions="Center"
                            VerticalOptions="Center"
                            Text="TabContent1" />
                        </Grid>
                    </xct:TabViewItem>

                    <xct:TabViewItem
                    Icon="circle.png"
                    Text="Patient Follows up"
                    TextColor="#2196f3"
                    TextColorSelected="#2196f3"
                    FontSize="12">
                        <Grid>
                            <Label    
                            HorizontalOptions="Center"
                            VerticalOptions="Center"
                            Text="TabContent2" />
                        </Grid>
                    </xct:TabViewItem>
                </xct:TabView>
            </Grid>

我们无法在 TabView 中导航页面。 TabView 项仅接受查看。之前有人问过这个问题,目前不支持任何功能。

您可以改用 ShellShell 支持页面标签。您可以使用路线导航到特定选项卡。

对于Shell中的选项卡,您可以直接使用Tabbar或使用FlyoutItem中的选项卡来实现与Shell中的TabView类似的功能。

注册路线:

<Shell ...>
<FlyoutItem ...
            Route="animals">
    <Tab ...
         Route="domestic">
        <ShellContent ...
                      Route="cats" />
        <ShellContent ...
                      Route="dogs" />
    </Tab>
        
...
</Shell>

导航到猫页面:

await Shell.Current.GoToAsync("//animals/domestic/cats");

更多细节,您可以参考MS文档。 https://docs.microsoft.com/en-us/xamarin/xamarin-forms/app-fundamentals/shell/navigation