2014-11-13 17 views
8

Mam kilka elementów przestawnych na mojej stronie i na podstawie tego, czy aplikacja jest w trybie próbnym, czy nie, muszę pokazać lub ukryć jeden z elementów PivotItem. Ustawienie widoczności PivotItem bezpośrednio w XAML lub w C# ukrywa tylko to, co jest w PivotItem, a nie sam rzeczywisty PivotItem. Jak mogę to zrobić?Jak ukryć widoczność pojedynczego obiektu PivotItem

W testach Próbowałem oba z następujących

Page.xaml

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

LUB

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

Czy próbowałeś usunąć PivotItem? – Romasz

+0

Nadal muszę to pokazywać, gdy nie jest w stanie próbnym. – Matthew

+0

Może możesz to zrobić w taki sposób: Przygotuj cały pivot, w konstruktorze strony sprawdź, czy tryb próbny - jeśli tak - usuń pivotitem. – Romasz

Odpowiedz

13

Można jedynie usunąć lub dynamicznie dodawaj PivotItems do kolekcji Pivot przy użyciu Pivot.Items. Nie możesz ich ukryć. Zgodnie z wymaganiami możesz to zrobić:

//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

Co jeśli muszę dodać to jako drugi element przestawny w formancie przestawnym, indeks 1. – Matthew

+0

Należy obejść właściwość "indeks" PivotItem. –