Как установить первую вкладку после загрузки страницы?

#c# #xamarin #xamarin.forms #tabs #toolkit

Вопрос:

Я использую инструментарий для создания вкладок на своей странице. Я хочу установить специальную вкладку (в данном контексте это третья вкладка) в качестве отображаемой вкладки после загрузки моей страницы. Как я могу это сделать? Спасибо

     <xct:TabView IsTabTransitionEnabled="False" IsSwipeEnabled="False" x:Name="TabView" Style="{StaticResource CustomTabStyle}">              
                
               <xct:TabView.TabStripBackgroundView >                        
                        <BoxView BackgroundColor="White" HeightRequest="0" WidthRequest="30" CornerRadius="0,0,0,0" />                       
                </xct:TabView.TabStripBackgroundView>         


                <xct:TabViewItem 
                    Text="text1"
                    Icon="Logo.png"
                    x:Name="Tab1"        
                    ControlTemplate="{StaticResource TabItemTemplate}">
                    <view:Page1/>
                </xct:TabViewItem>

                <xct:TabViewItem
                    x:Name="Tab2"
                    Text="text2"                     
                    ControlTemplate="{StaticResource FabTabItemTemplate}"                    
                    <view:Page2 />
                </xct:TabViewItem>

                <xct:TabViewItem 
                    x:Name="Tab3"
                    Text="text3"                                       
                    ControlTemplate="{StaticResource TabItemTemplate}"             >
                    <view:Page3/>
                </xct:TabViewItem>

                </xct:TabView>   
 

Ответ №1:

Видишь https://docs.microsoft.com/en-us/xamarin/community-toolkit/views/tabview

TabView имеет свойство SelectedIndex, которое можно использовать для настройки выбранной вкладки.

Комментарии:

1. Я пытался им воспользоваться. Я установил SelectedIndex=»2″ и установил TabIndex=»2″ для нужной мне вкладки. Но я получил исключение «Индекс находится вне диапазона»… Можете ли вы показать мне код, где он работает? Спасибо.

Ответ №2:

Вы можете просто установить SelectedIndex в своем коде, например:

  public YourPage()
    {
        InitializeComponent();
        TabView.SelectedIndex = 2;  //TabView is the name you define in your xaml x:Name = "TabView"
    }