Анимация перехода, которая показывает части обеих страниц одновременно? - PullRequest
1 голос
/ 21 февраля 2012

В моем приложении Phone 7 в настоящее время я использую службу перехода Silverlight Toolkit для реализации анимации перехода, когда пользователь перемещается между страницами.Работает.Но мне не нравятся эти анимации, потому что они всегда состоят из двух фаз: первая фаза показывает анимацию между текущей страницей и фоном, а вторая - анимацию между фоном и следующей страницей.Кажется, что большинство приложений Phone 7 имеют такой вид анимации.

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

Как этого добиться?Может ли раскадровка Silverlight сделать это?

1 Ответ

0 голосов
/ 22 февраля 2012

Я провел аналогичное исследование для управления календарем и закончил следующим решением:

  • перед переходом на другой месяц скопируйте текущий контрольный контент в нижележащий прямоугольник (визуализируйте его в изображение и используйте в качестве ImageBrush заполнить прямоугольник);
  • установить для текущего элемента управления Opacity значение 0, чтобы был виден только нижний прямоугольник;
  • создать новый управляющий контент (пока он все еще с непрозрачностью = 0);
  • начать анимацию. Анимация выполняется для нижележащего прямоугольника и непрозрачности элемента управления, а также для их RenderTransforms.
  • Когда анимация завершится, очистите нижележащий прямоугольник Свойство Fill.

Это идея. Все раскадровки могут быть определены в xaml, но для обработки анимации требуется некоторый код. Я не уверен, применимо ли это к вашему делу, может быть, вам нужно что-то вроде контроля книг.

...