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

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

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

Страница.xaml

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

OR

Страница.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;
        }
    }

person Matthew    schedule 13.11.2014    source источник
comment
Вы пытались удалить PivotItem?   -  person Romasz    schedule 13.11.2014
comment
Мне все еще нужно показать его, когда он не находится в пробном состоянии.   -  person Matthew    schedule 13.11.2014
comment
Может быть можно сделать так: Подготовить всю сводку, в конструкторе страницы проверить пробный режим - если да - удалить сводку.   -  person Romasz    schedule 13.11.2014


Ответы (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"));
}
person DOTNET Team    schedule 13.11.2014
comment
Что, если мне нужно добавить это как второй элемент сводки в элементе управления Pivot, индекс 1. - person Matthew; 14.11.2014
comment
Вам нужно обойти свойство index объекта PivotItem. - person DOTNET Team; 14.11.2014