Как скрыть видимость отдельного PivotItem

У меня есть несколько сводных элементов на моей странице, и в зависимости от того, находится ли приложение в пробном режиме или нет, мне нужно показать или скрыть один из элементов PivotItem. Установка видимости PivotItem непосредственно в XAML или в C# скрывает только то, что находится внутри PivotItem, а не сам факт PivotItem. Как я могу сделать это?

В тестировании я попробовал оба из следующих

Page.xaml

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

ИЛИ ЖЕ

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 ответ

Решение

Вы можете только динамически удалять или добавлять PivotItems в Pivot, используя коллекцию Pivot.Items. Вы не можете их скрыть. Согласно вашему требованию, вы можете сделать это:

//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"));
}
Другие вопросы по тегам