2010-06-13 142 views
0

我期待自己在WPF中做更好的方法,我通常会手动进行操作。平滑地旋转Viewbox内容

在这种情况下,我有一个ViewBox和一个图像。我也有一个使用DoubleAnimation将图像90向右旋转的按钮。

这个动画效果很好,但很明显,因为它是正方形的,所以图像与ViewBox“最合适”,这使得旋转看起来很糟糕,因为它的最长边缘缩小或增长以适应该特定的旋转角度。

我正在寻找关于使用适当的WPF方法来处理此问题的最佳方法的任何建议。很显然,我可以手动完成所有的计算,但是我更希望找到一种方法来使用.NET架构中内置的控件和方法。

感谢您的帮助。

回答

0

如果您的ViewBox中只有Image,请删除该视图框。图像已能够正确伸展,Stretch属性设置为Uniform

在任何情况下,请使用RenderTransform而不是LayoutTransform,以避免在图像旋转时重新计算控件的位置。在所有位置计算完成后,RenderTransform将旋转对象,这样你就会好起来的。如果在旋转时发现它经过了一些控制,只需在图像周围添加边距。