2016-11-21 3 views
0

Ich bin neu in Xamarin. Das Problem ist, wenn ich meine Tabs öffne, öffnet es das erste, d. H. "Schedule_FRI". Aber ich möchte "Schedule_SAT" öffnen, wenn ich die Registerkarten öffne. Ist das möglich und wie mache ich das?So legen Sie bestimmte Registerkarte bei geöffneten Tabs

<?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> 
+0

Kannst du den Detailcode deiner Referenz anzeigen? (Local: Schedule_FRI, SAT und i8ln.) Das ganze Projekt sollte besser sein. –

Antwort

0

Ich glaube nicht, dass Sie dies in der XAML festlegen können, aber Sie können dies im Code festgelegt, die Current Eigenschaft, z.B. in einem Seitenlade-Ereignishandler. Fügen Sie Ihren Registerkarten ein x:Name-Attribut hinzu, damit sie leicht im Code referenziert werden können, z. x:name="satSchedulePage", und dann können Sie this.CurrentPage = this.satSchedulePage; in den TabbedPage-Code einfügen.

0

Wenn Sie auf die Seite navigieren, nachdem die Instanz der Registerkarte

zum Beispiel zu erstellen:

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

Sie benötigen aktuelle Seite zu setzen (die Registerkarte, die Sie tätig werden wollen).

[Hinweis Array-Indizes beginnen ab 0;), wenn Sie zweite Reiter wollen aktiv Put-1 bei Kindern Array sein]

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

und am Ende stellen Sie die Tabbed Seite als Mainpage

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