1

我有一个用户控件,它有一个二次图像作为孩子。这个Image在UserControl的底部,它的一半被剪掉了(例如Control的高度是400,Image的高度是200并且设置为y=300)。

现在,当我旋转图像时,它仍然像第一次一样被剪裁。就像旋转 90 度时,我突然有一个只有 100 像素宽的图像。

似乎由于 UserControl 的边界而进行的原始剪辑将永远应用。

我该如何解决这个问题?我希望我解释了我的问题可以理解;)

4

2 回答 2

6

你如何旋转图像?如果您使用RenderTransform进行旋转,则 WPF 不会重新渲染屏幕上已显示的内容 - 它只是旋转像素。

相反,使用LayoutTransform旋转图像;这会强制 WPF 重新渲染控件,因为它占据了新的区域,这应该消除您看到的剪辑。

于 2010-01-29T16:01:56.603 回答
0

您也可以InvalidateMeasure()在应用渲染转换后调用。

于 2010-07-22T08:43:18.207 回答