2013-02-22 3 views
0

В настоящее время мой код выглядит примерно так:Создана кнопка для перехода к следующему PivotItem, как вернуться к первому PivotItem из последнего PivotItem?

private void appbariconNext_Click(object sender, EventArgs e) 
    { 

     timerPivot.SelectedIndex += 1; 
    } 

    private void appbariconPrevious_Click(object sender, EventArgs e) 
    { 
     timerPivot.SelectedIndex -= 1; 
    } 

Проблема, если нажать кнопку Назад от первого PivotItem, я получаю ArgumentException. То же самое, если я нажму кнопку Next из последнего PivotItem.

В настоящее время у меня есть изменяющееся количество PivotItem в зависимости от опции, выбранной пользователями, поэтому мне неэффективно получить количество PivotItems из всех этих разных сценариев.

Есть ли способ получить общее количество PivotItems, которое имеет Pivot? Или есть способ решить эту проблему?

Спасибо!

+0

try timerPivot.SelectedIndex = (timerPivot.SelectedIndex + 1)% timerPivot.Items.Length; –

ответ

0

Прежде всего, это плохой пользовательский интерфейс для создания кнопок для перехода с одной страницы на другую с помощью кнопок. Как насчет прокрутки? Рассматривали ли вы его отключение и рестайлинг Pivot, чтобы он казался волшебником (если это именно то, что вы пытаетесь сделать)?

Вы можете получить общее количество позиций Pivot через свойство Items. Просто выполните модульное деление с этим номером, чтобы сохранить индексный номер в диапазоне [0, Items.Length>.

Я действительно надеюсь, что вы не злоупотребляете Pivot в любом случае.

+0

Не волнуйтесь, я знаю о руководстве по дизайну Windows Phone, но то, что я сейчас разрабатываю, требует немного более специализированного подхода к нему. Я узнал, что могу получить общее количество элементов с помощью метода Pivot.Items.Count(), мне просто нужно вычесть его на единицу, чтобы совместить число с массивом. :) Спасибо! –

+0

Без проблем, рад, что я мог бы помочь. Извините за чрезмерно оскорбительный комментарий :) –

Смежные вопросы