Поворачивая содержимое Viewbox плавно - PullRequest
0 голосов
/ 13 июня 2010

Я хочу научить себя лучшим методам работы в WPF, которые я обычно делал бы вручную.

В этом случае у меня есть ViewBox с изображением в нем. У меня также есть кнопка, которая использует DoubleAnimation для поворота изображения на 90 градусов вправо.

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

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

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

1 Ответ

0 голосов
/ 13 июня 2010

Если у вас есть Image в вашем ViewBox, опустите окно просмотра. Изображение уже может правильно растягиваться с атрибутом Stretch, установленным на Uniform.

В любом случае используйте RenderTransform вместо LayoutTransform, чтобы избежать пересчета положения элементов управления при повороте изображений. RenderTransform повернет объект после того, как все вычисления положения будут выполнены, так что все будет в порядке. Просто добавьте поле вокруг изображения, если вы обнаружите, что оно перешло некоторый контроль во время вращения.

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