WPF ListView Paging Animation - PullRequest
       1

WPF ListView Paging Animation

1 голос
/ 28 января 2011

У меня есть ListView, который содержит вид сетки (поэтому есть несколько столбцов). Я удалил полосы прокрутки и добавил кнопки подкачки. Я ищу применение анимации к данным, когда пользователь нажимает вверх / вниз. Более конкретно, я хочу применить масштабную анимацию, чтобы она выглядела так, как будто каждая строка переворачивалась с отображением новых данных (то есть аналогично rollodex, но для каждой строки).

Для подкачки страниц я использую вызовы VirtualizingStackPanel.PageUp / PageDown, которые работают правильно, но я не знаю, как применить анимацию к изменениям.

Я пытался использовать действия входа / выхода для триггера для «IsHitTestVisible» для ListViewItem, но, похоже, он работает неправильно.

Кто-нибудь делал что-то подобное раньше? Любая помощь приветствуется. Спасибо.

Ответы [ 2 ]

0 голосов
/ 28 февраля 2013

Еще один способ сделать это .. 1. Используйте TabControl 2. Загрузите все элементы и разместите их на вкладках в зависимости от видимой области экрана (или в зависимости от ваших условий) 3. Показывать только 1 вкладку за раз 4. при перемещении вверх или вниз показать следующую или предыдущую страницу и скрыть текущую страницу 5. Реализуйте анимацию на вкладке видимой

0 голосов
/ 28 января 2011

Это очень сложный вопрос с очень сложным решением.Вот базовый подход, который я бы использовал, предполагая, что существует некоторый тип наблюдаемой коллекции в качестве ItemsSource представления списка.

  1. Получите ваш следующий набор данных.
  2. Для каждогоэлемент в ваших новых данных, определите, какой элемент он будет заменять в представлении списка.
  3. Запустите анимацию для перехода к старому элементу.
  4. Когда старый элемент больше не виден,поменяйте его на новый элемент (скажем, в вашей коллекции) и начните анимацию, которая его переводит.
  5. Готово

Очевидно, это простой подход.То, что вы описываете, является очень сложным процессом, и вы, скорее всего, столкнетесь со всевозможными крайними случаями и неожиданным поведением.Например, что делать, если начальный список пуст, или в ваших новых данных больше или меньше записей, чем в старых.Удачи!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...