WPF图像控制剪辑

キキジ*_*キジキ 2 wpf

我在自定义ContentControl中有一个Image控件,我用它来应用一些变换(通过RenderTransform缩放和翻译).问题是,如果图像大于控件的区域,如果我滚动或缩小它的全部剪切,就像在原始视口中一样.

有没有办法强制图像完全自我绘制?(已经尝试将ClipToBounds设置为false)

顺便说一句,如果我尝试将图像作为画布的背景,它可以正常工作.

编辑,这是一些细节.

我的控制:

public class CustomControl: ContentControl
Run Code Online (Sandbox Code Playgroud)

设置阶段:

source = VisualTreeHelper.GetChild(this, 0) as FrameworkElement;
...
source.RenderTransform = this.transformGroup;
Run Code Online (Sandbox Code Playgroud)

变换组由平移和缩放变换组成.

xaml部分是这样的:

<ui:CustomControl ClipToBounds="True">
    <Image
        Source="{Binding Path=BackgroundImage}"
        Stretch="None"
        ClipToBounds="False"/>
</ui:CustomControl>
Run Code Online (Sandbox Code Playgroud)

キキジ*_*キジキ 5

我想我找到了解决方案.我的包裹在画布中的图像解决这个问题,可能是由于该方式画布大小进行计算.