我有一个用户控件,它有一个二次图像作为孩子。这个Image在UserControl的底部,它的一半被剪掉了(例如Control的高度是400,Image的高度是200并且设置为y=300)。
现在,当我旋转图像时,它仍然像第一次一样被剪裁。就像旋转 90 度时,我突然有一个只有 100 像素宽的图像。
似乎由于 UserControl 的边界而进行的原始剪辑将永远应用。
我该如何解决这个问题?我希望我解释了我的问题可以理解;)
你如何旋转图像?如果您使用RenderTransform进行旋转,则 WPF 不会重新渲染屏幕上已显示的内容 - 它只是旋转像素。
相反,使用LayoutTransform旋转图像;这会强制 WPF 重新渲染控件,因为它占据了新的区域,这应该消除您看到的剪辑。
您也可以InvalidateMeasure()
在应用渲染转换后调用。