我正在寻找自己更好的WPF工作方法,我通常会手动做。
在这种情况下,我有一个带有图像的ViewBox。我还有一个使用DoubleAnimation将图像向右旋转的按钮。
这个动画效果很好,但显然因为它转动时是方形的,所以图像与ViewBox“最合适”,这使得旋转看起来非常糟糕,因为它变得越来越小,因为它的最长边缩小或增长到适合那个特定的旋转角度。
我正在寻找有关使用适当的WPF方法处理此问题的最佳方法的任何建议。显然,我可以手动完成所有计算,但我更感兴趣的是找到一种方法来使用.NET体系结构中内置的控件和方法。
感谢您的帮助。
答案 0 :(得分:0)
如果Image
中只有ViewBox
,请删除视图框。如果Stretch
属性设置为Uniform
,则图片已经能够正确拉伸。
在任何情况下,请使用RenderTransform
而不是LayoutTransform
,以避免在图像旋转时重新计算控件的位置。在完成所有位置计算后,RenderTransform
将旋转对象,这样你就可以了。如果您在旋转时发现它通过某些控件,只需在图像周围添加边距。