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

时间:2014-04-24 16:38:38

标签: c# wpf drawing inkcanvas

在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

的样子

enter image description here

这是我想要实现的目标:

enter image description here

可以这样做吗?

1 个答案:

答案 0 :(得分:2)

问题在于,您在尝试设置您未使用的Image对象的属性时忽略了您正在使用的ImageBrush上的相同设置。在这种情况下,Image被丢弃,而ImageBrush恰好使用相同的源图像。在Stretch上设置ImageBrush属性,而不是:

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

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