在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
的样子
这是我想要实现的目标:
可以这样做吗?
答案 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;