我在自定义ContentControl中有一个Image控件,我用它来应用一些变换(通过RenderTransform缩放和翻译)。问题是,如果图像大于控件的区域,如果我滚动或缩小它的全部剪切,就像在原始视口中一样。
有没有办法强制图像完全自我绘制? (已经尝试将ClipToBounds设置为false)
顺便说一句,如果我尝试将图像作为画布的背景,它可以正常工作。
编辑,这是一些细节。
我的控制:
public class CustomControl: ContentControl
设置阶段:
source = VisualTreeHelper.GetChild(this, 0) as FrameworkElement;
...
source.RenderTransform = this.transformGroup;
变换组由平移和缩放变换组成。
xaml部分是这样的:
<ui:CustomControl ClipToBounds="True">
<Image
Source="{Binding Path=BackgroundImage}"
Stretch="None"
ClipToBounds="False"/>
</ui:CustomControl>
答案 0 :(得分:5)
我想我找到了解决方案。 将我的图像包装在画布中解决了这个问题,可能是由于计算画布大小的方式。
答案 1 :(得分:0)
您需要在自定义控件中包含滚动查看器。在滚动查看器中包括图像控件。
HTH