2014-11-13 12 views
8

Ich habe einige Pivot-Elemente auf meiner Seite. Je nachdem, ob die App im Testmodus ist oder nicht, muss eines der PivotItems ein- oder ausgeblendet werden. Wenn Sie die Sichtbarkeit des PivotItem direkt in XAML oder in C# festlegen, wird nur der Inhalt des PivotItems und nicht das eigentliche PivotItem selbst ausgeblendet. Wie kann ich das erreichen?So verbergen Sie die Sichtbarkeit einzelner PivotItems

Beim Testen habe ich versucht, die beiden folgenden

Page.xaml

<phone:PivotItem x:Name="PivotItem2" Visibility="Collapsed" 
         Header="2"> 
       ... 
</<phone:PivotItem> 

ODER

Page.xaml.cs

protected override void OnNavigatedTo(NavigationEventArgs e) 
    { 
     base.OnNavigatedTo(e); 

     //Check trial state and set PivotItem 
     if ((Application.Current as App).IsTrial) 
     { 
      PivotItem2.Visibility = Visibility.Collapsed; 
     } 
     else 
     { 
      PivotItem2.Visibility = Visibility.Visible; 
     } 
    } 
+1

Haben Sie versucht, die PivotItem zu löschen? – Romasz

+0

Ich muss es immer noch zeigen, wenn es nicht in einem Test-Zustand ist. – Matthew

+0

Vielleicht können Sie es so machen: Bereiten Sie den gesamten Pivot vor, überprüfen Sie im Konstruktor von Page, ob der Testmodus - falls ja - das Pivot-Element entfernt. – Romasz

Antwort

13

Sie können nur entfernen oder fügen Sie PivotItems dynamisch in Ihrem Pivot mithilfe der Pivot.Items-Auflistung hinzu. Du kannst sie nicht verstecken. Wie pro Ihre Anforderung, können Sie dies tun:

//Check trial state and set PivotItem 
if ((Application.Current as App).IsTrial) 
{ 
    PivotControl.Items.Remove(PivotControl.Items.Single(p => ((PivotItem)p).Name == "Name_PivotItem")); 
} 
else 
{ 
    PivotControl.Items.Add(PivotControl.Items.Single(p => ((PivotItem)p).Name == "Name_PivotItem")); 
} 
+0

Was ist, wenn ich dies als das zweite Pivot-Element im Pivot-Steuerelement, Index 1 hinzufügen muss. – Matthew

+0

Sie müssen umgehen 'Index' Eigenschaft von PivotItem. –

Verwandte Themen