WPF 裁剪问题
Posted
技术标签:
【中文标题】WPF 裁剪问题【英文标题】:WPF Clipping Problem 【发布时间】:2011-01-10 21:48:31 【问题描述】:我有一个用户控件,它有一个二次图像作为孩子。这个Image在UserControl的底部,有一半被剪掉了(比如Control的高度是400,Image的高度是200,设置为y=300)。
现在,当我旋转图像时,它仍然像最初那样被剪裁。就像旋转 90 度时,我突然有一个只有 100 像素宽的图像。
似乎由于 UserControl 的边界而进行的原始剪辑被永久应用了。
我该如何解决这个问题?我希望我能理解我的问题;)
【问题讨论】:
【参考方案1】:你是如何旋转图像的?如果您使用RenderTransform 进行旋转,则 WPF 不会重新渲染屏幕上已显示的内容 - 它只是旋转像素。
改为使用LayoutTransform 旋转图像;这会强制 WPF 在给定控件占据的新区域的情况下重新渲染控件,这应该会消除您看到的剪辑。
【讨论】:
你刚刚节省了我和老板一天的工作量。谢谢!【参考方案2】:您也可以在应用渲染转换后调用InvalidateMeasure()
。
【讨论】:
以上是关于WPF 裁剪问题的主要内容,如果未能解决你的问题,请参考以下文章