Silverlight, анимация масштабирования DeepZoom - PullRequest
1 голос
/ 21 января 2010

Когда я устанавливаю ViewportWidth изображения Deepzoom в Silverlight, уровень масштабирования изменяется очень быстро. Есть ли способ установить время, которое должна занять анимация масштабирования?

Спасибо

Ответы [ 3 ]

1 голос
/ 21 января 2010

Единственный способ сделать это - установить UseSprings в false и анимировать значение ViewportWidth самостоятельно. Это также заставит вас анимировать ViewportOrigin также при выполнении операций панорамирования, если вы хотите сохранить «весеннюю» анимацию панорамирования.

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

0 голосов
/ 26 февраля 2010

Хотя вы не можете установить время напрямую, каждая «весна» занимает ровно 1,5 секунды. Итак, если вы хотите, вы можете оставить пружины включенными, а затем рассчитать разницу между текущей шириной области просмотра и шириной области просмотра, к которой вы хотите перейти, и попытаться подобрать синхронизацию времени таким образом. Тем не менее, это может выглядеть неловко, поэтому вам придется сначала проверить это.

0 голосов
/ 21 января 2010

Попробуйте использовать MultiScaleImage.UseSprings = true и метод ZoomAboutLogicalPoint ().

...