我在自定义的ContentControl中放置了一个Image控件,用于应用一些变换(通过RenderTransform进行缩放和平移)。问题是,如果图像大于控件区域,则无论我如何滚动或缩小,它都会被裁剪为原始视口中的样子。
有没有办法强制图像完全绘制出来?(已尝试将ClipToBounds设置为false)
顺便说一下,如果我尝试将图像作为画布的背景,它就可以正常工作。
编辑,以下是一些细节。
我的控件:
设置阶段:
变换组由一种平移和一种缩放变换组成。
XAML 部分如下:
有没有办法强制图像完全绘制出来?(已尝试将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>