WP7 — эффект пейджинга в одном представлении

Прежде чем я начну, я не мастер SL или WPF, поэтому мне нужно некоторое руководство. У меня есть List<CustomObject> . Затем у меня есть представление, к которому я могу привязать «CustomObject» и отобразить все данные. Теперь, чтобы не отставать от руководств Metro и руководств по навигации, я хочу иметь возможность использовать службу жестов SL Control Toolkit для обнаружения щелчка (эта часть сделана и работает). Когда я щелкаю влево, он привязывает текущую позицию в списке -1, когда я щелкаю вправо, привязывает текущую позицию в списке + 1.

Теперь мне нужно сделать его красивым. Я бы хотел, чтобы он вел себя аналогично элементу управления поворотом, когда я удерживаю его, он перемещает сетку влево, а когда создается полный щелчок, он скользит влево или вправо и загружает следующий элемент.

Эти списки могут содержать сотни элементов, поэтому динамическое добавление их в элемент управления Pivot невозможно.

Я знаю, что мне нужно захватить OnDelta и начать перемещать сетку, но я действительно пытаюсь найти образец, похожий на то, что я ищу, чтобы дать мне все кусочки. Раньше было несколько пользовательских реализаций элементов управления Pivot и Panorama, но я не могу их найти.

Любые идеи, которые могут указать мне в нужном месте?

Спасибо!


person John    schedule 16.08.2011    source источник


Ответы (1)


Поскольку вам нужно создать несколько экземпляров того, что отображает ваш CustomObject, я бы подумал об использовании элемента управления Pivot с тремя элементами в нем. Три элемента должны быть текущим элементом и элементами по обе стороны от него.

Когда пользователь перемещается между элементами, обновите DataContext/Binding других элементов, чтобы они отражали элемент рядом с отображаемым в данный момент. (Вам нужно будет установить только один за раз.)

Я успешно использовал эту технику в приложениях, где каждая страница не была слишком сложной для загрузки. (Когда это было, была задержка при быстрой навигации между элементами.)

person Matt Lacey    schedule 16.08.2011
comment
Хотите объяснить, как вы перемещали сводные страницы так, чтобы сводное управление всегда считало, что слева и справа есть элемент? - person John; 17.08.2011
comment
На самом деле я думаю, что понял, это похоже на отличный элемент управления, который можно добавить в Toolkit. Я нахожу это определенно полезным (он работает только для некоторых фиктивных данных, но я не могу себе представить, что производительность плохая, если я только устанавливаю контекст данных). Спасибо за идею. - person John; 17.08.2011