2016-08-23 3 views
0

Ich portiere eine meiner Android-Apps auf WinPhone 8.1 und 10 (UWP). Die App selbst verwendet einen TabHost, der die einzelnen Aktivitäten in jede Registerkarte lädt, die dann auf jeder Registerkarte angezeigt werden, wenn sie gedrückt werden.Portierung Android TabHost zu Windows Phone

Auf WinPhone verwende ich ein Pivot, um das Gleiche zu tun. Es sieht so aus, als müsste ich die Benutzeroberfläche für die Pivot-Elemente in der Ansicht mit aktiviertem Pivot einrichten. Ich kann das nicht so sehen, weil es keinen Sinn ergibt.

Gibt es eine Möglichkeit, dass Pivot-Element 1 die Seite lädt, die es verknüpft, aber immer noch den Pivot an der Spitze hat?

+0

Warum brauchen Sie 'Page' Instanzen? Sie können die Ansichten in separaten 'UserControl' definieren und Sie können sie im Pivot verwenden. –

+0

Danke - Ich wusste, dass es eine einfache Antwort geben musste. Jetzt machen Sie es wie es heißt und zeigen Sie die UserControls an! – Nodoid

Antwort

1

Gibt es eine Möglichkeit, dass Pivot-Element 1 die Seite lädt, die es verknüpft, aber immer noch den Pivot an der Spitze hat?

Ich glaube, Sie wahrscheinlich den Inhalt Pivot zu einem gewissen Seite navigieren möchten, wenn Sie den Header Pivot klicken, wenn ja, gibt es keine Notwendigkeit UserControl zu verwenden ist. Was Sie brauchen, ist eine Frame Kontrolle.

Zuerst müssen wir wissen, dass es Headerteil und Inhaltsteil in einem Pivot gibt. Was Sie brauchen, ist, dass die Header immer angezeigt werden.

Zum Beispiel können Sie wie folgt Code:

<Pivot> 
    <PivotItem Header="Page 1"> 
     <Frame x:Name="frame1" /> 
    </PivotItem> 
    <PivotItem Header="Page 2"> 
     <Frame x:Name="frame2" /> 
    </PivotItem> 
    <PivotItem Header="Page 3"> 
     <Frame x:Name="frame3" /> 
    </PivotItem> 
</Pivot> 

Im Code hinter Ihnen in diesem Frame Kontrollen zum Beispiel wie folgt navigieren:

protected override void OnNavigatedTo(NavigationEventArgs e) 
{ 
    frame1.Navigate(typeof(MainPage)); 
    frame2.Navigate(typeof(Page2)); 
    frame3.Navigate(typeof(Page3)); 
} 
+0

Genau darum geht es mir - danke :) – Nodoid