TabbedPage.xaml 中的 SelectedItem 不起作用 Xamarin.Form

SelectedItem in TabbedPage.xaml does not work Xamarin.Form

大家好,我在 xaml 中创建了标签,我更喜欢 xaml,因为我在 xaml 代码中登录。我的代码

Tab.xaml

<TabbedPage 
        xmlns="http://xamarin.com/schemas/2014/forms"
        xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
        xmlns:local="clr-namespace:FormsSample.Views;assembly=FormsSample"
        x:Class="FormsSample.Views.LoginPage"
        x:Name="TbPage">
     <TabbedPage.Children>
        <ContentPage x:Name="TbLog" Title="Login">
        </ContentPage>
        <ContentPage x:Name="TbSch" Title="Schedule">
        </ContentPage>
        <ContentPage x:Name="TbLis" Title="Customers">
        </ContentPage>
        </TabbedPage.Children>   
</TabbedPage>

Tab.xaml.cs

   namespace FormsSample.Views
   {
    public partial class LoginPage : TabbedPage 
    {

       private readonly TabbedPage _tbPage;
       private readonly ContentPage _tbList;
       private readonly ContentPage _tbLogn; 


       public LoginPage()
       {
        InitializeComponent ();
        _tbPage = this.FindByName<TabbedPage>("TbPage");
        _tbList = this.FindByName<ContentPage>("TbLis");
        _tbLogn = this.FindByName<ContentPage>("TbLog");
        RunTime();
        }

        private void RunTime()
        {
               _tbPage.CurrentPage = _tbLogn; 
           if (_tbPage.SelectedItem == _tbPage.Children[2])
           {
              DisplayAlert("Tab", "Hello World", "OK");
           }
         }

       }

     }

改为

  _tbPage.SelectedItem == _tbList 

类似没有任何反应,如何解决?多谢。

这可能并不花哨,但对我有用:D

        this.CurrentPageChanged += (o, e) => 
        {
           var i = this.Children.indexOf(this.CurrentPage); 
            if(i == 1 && UsrType == 2)
            {
                 DisplayAlert("Admin", "Administrator Privilege required!", "OK");
                 this.CurrentPage = _tbLog;
            }
        };

我先把SelectedItem设置成null,然后再设置到我想显示的页面。