WPF C#在inkCanvas中作为背景加载时防止背景大小调整

WPF C#在inkCanvas中作为背景加载时防止背景大小调整,c#,wpf,drawing,inkcanvas,C#,Wpf,Drawing,Inkcanvas,在Microsoft文档和论坛中寻找答案后,我不知所措。我正在加载一个png图像作为inkCanvas(WPF)的背景,它可以很好地工作,但是,不管图像大小如何,它总是调整图像大小以适应画布 这是我最后一次尝试,但没有成功: BitmapImage ii = new BitmapImage(new Uri(path)); Image img = new Image(); img.Stretch = Stretch.None

在Microsoft文档和论坛中寻找答案后,我不知所措。我正在加载一个png图像作为inkCanvas(WPF)的背景,它可以很好地工作,但是,不管图像大小如何,它总是调整图像大小以适应画布

这是我最后一次尝试,但没有成功:

            BitmapImage ii = new BitmapImage(new Uri(path));
            Image img = new Image();

            img.Stretch = Stretch.None;
            img.Source = ii;
            InkCanvas1.Background = new ImageBrush(ii);
下面是使用Stretch.None和Stretch.Fill时的效果

以下是我努力实现的目标:


可以这样做吗?

问题是,您试图在未使用的
图像
对象上设置属性,而忽略正在使用的
图像笔刷
上的相同设置。本例中的
图像
刚刚被扔掉,而
图像笔刷
恰好使用了相同的源图像。改为在
ImageBrush
上设置
Stretch
属性:

    BitmapImage ii = new BitmapImage(new Uri(path));

    ImageBrush imageBrush = new ImageBrush(ii);
    imageBrush.Stretch = Stretch.Uniform;
    InkCanvas1.Background = imageBrush;

所以你希望imageBrush扩展到墨水画布之外?不一定,我希望图像的纵横比大小适合画布顶部或底部的最大宽度或最大高度和空白(取决于横向或纵向图像)。你现在可以发布快照吗?期望的输出是什么?完美!!谢谢你让我觉得自己像个白痴!:)