打开选项卡时如何设置特定选项卡

时间:2016-11-21 06:13:42

标签: c# xamarin tabs tabbedpage

我是Xamarin的新手。所以问题是,当我打开我的标签时,它会打开第一个标签,即" Schedule_FRI"。但我想打开" Schedule_SAT"当我打开标签页时。这是可能的,我该怎么做?

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
            xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
            xmlns:local="clr-namespace:App4.Pages;assembly=App4"
            xmlns:i8ln="clr-namespace:App4;assembly=App4"
            x:Class="App4.Pages.Schedule" Title="{i8ln:Translate PageName_Schedule}">

  <local:Schedule_FRI Title="{i8ln:Translate FRI}"/>
  <local:Schedule_SAT Title="{i8ln:Translate SAT}"/>
  <local:Schedule_SUN Title="{i8ln:Translate SUN}"/>

  <local:Schedule_Lajna Title="{i8ln:Translate Schedule_Lajna}"/>


</TabbedPage>

2 个答案:

答案 0 :(得分:0)

我不认为你可以在XAML中设置它,但你可以使用CurrentPage属性在代码中设置它,例如在页面加载事件处理程序中。在标签页中添加x:Name属性,以便在代码中轻松引用它们,例如x:name="satSchedulePage",然后您就可以将this.CurrentPage = this.satSchedulePage;放入TabbedPage代码中。

答案 1 :(得分:0)

在创建标签页的实例后导航到该页面

例如:

            var page = new App4.Pages.Schedule();

您需要设置当前页面(您要激活的选项卡)。

[提示数组索引从0开始;)如果你想要第二个标签处于活动状态,则在子数组中放置1]

            page.CurrentPage = page.Children[{{INT TAB PAGE INDEX HERE}}];

并最终将选项卡页面设置为MainPage

            Application.Current.MainPage = new MainPage(page);