我有一个UserControl,它有一个二次图像作为一个孩子。此图像位于UserControl的底部,其中一半被剪裁(例如,控件的高度为400,图像的高度为200,并且设置为y = 300)。
现在,当我旋转图像时,它仍然像第一次一样被剪裁。就像旋转90度时一样,我突然有一个只有100px宽的图像。
看起来由于UserControl的边界而产生的原始剪辑将永远应用。
我该如何解决这个问题?我希望我解释我的问题可以理解;)
答案 0 :(得分:5)
你是如何旋转图像的?如果使用RenderTransform进行旋转,则WPF不会重新渲染屏幕上已显示的内容 - 它只是旋转像素。
而是使用LayoutTransform旋转图像;这会强制WPF在给定新区域时重新渲染控件,这样可以消除你看到的剪辑。
答案 1 :(得分:0)
您还可以在应用渲染变换后调用InvalidateMeasure()
。