Как я могу анимировать переход при перемещении ребенка с одной панели на другую в Silverlight - PullRequest
0 голосов
/ 02 февраля 2010

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

Я пытался реализовать это с помощью ScaleTransform и TranslateTransform, одновременно сжимая изображение и перемещая его к элементу управления нижнего колонтитула. Когда он перемещается в элемент управления нижнего колонтитула, он обрезается, даже если для свойства изображения Canvas.ZIndex установлено очень большое число. В конце концов, thumnbail должен быть дочерним элементом StackPanel, который находится внутри сетки нижнего колонтитула.

Спасибо за ваше внимание и помощь.

Ответы [ 2 ]

2 голосов
/ 02 февраля 2010

У меня была похожая проблема (отсечение) с анимацией WPF, которая у меня была. Проблема состояла в том, что владелец анимации должен был быть родителем обоих контейнеров, чтобы анимация работала (в моем случае я сделал это фактическим окном, содержащим контейнеры).

Без какого-либо кода я не вижу, в этом ли ваша проблема, но я подумал, что выкину его туда.

Вы можете увидеть мой код, где я анимирую переход от одного контейнера к другому здесь: http://wiassistant.codeplex.com/sourcecontrol/changeset/view/36638?projectName=WIAssistant#924851 (См. Метод AnimatePaneBox внизу файла.) Это может быть или не быть полезным для вас.

1 голос
/ 03 февраля 2010

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

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