图片源无法显示图片

3
我有关于设置图像源属性的问题......所以我尝试使用这个代码的每个变化,但由于某种原因它不起作用。当我手动设置属性时,它能够正常工作,但是当我想在代码中更改图片时,它只是空白。
        `BitmapImage` bm = new BitmapImage();
         bm.UriSource=new Uri(this.BaseUri,@"\\Assets\logo6.png");
         this.image.Source = image;

我在按钮事件中使用这段代码,这样我就可以更改图像控件中的图片。


你试图分配图像源的控件名称是什么?尝试更改this.Image.Source。 - MethodMan
控件的名称是图像(image)... 当我按下按钮时,预加载的图片就会消失... 我真的不明白... - Matija Sovic
也许您可以展示更多的代码,特别是按钮点击事件的代码。这是针对WinForms还是专门针对Windows Phone 8的? - MethodMan
不确定为什么你不能在理论上做这样的事情:PictureBox1.Image = new Bitmap("\\Assets\logo6.png"); 另外一个重要的问题是,你是否调试过这个代码?如果是这样,当你跨越那一行时,bm.URISource的值是多少?这里的代码毫无意义:this.image.Source = image; 你可能想表达的是 image.Source = bm.UriSource,只要它是一个有效的路径。尝试将png文件放在本地文件夹中,然后分配源@"somefilepath\filename.png" - MethodMan
这可能也是一个权限问题。从你提供的代码中无法得出太多信息。如果你能在调试时告诉我们值是什么,那就更好了。抱歉。 - MethodMan
显示剩余2条评论
1个回答

1

您正在错误地设置路径。尝试其中任何两个选项,它将起作用。

还要确保您的图像属性生成操作应设置为Content复制到输出目录应设置为Copy to newer始终复制

BitmapImage bm = new BitmapImage();
bm.UriSource = new Uri(@"\Assets\Tiles\IconicTileSmall.png",UriKind.Relative);
image.Source = bm;

BitmapImage bm = new BitmapImage();
bm.UriSource = new Uri("\\Assets\\Tiles\\IconicTileSmall.png",UriKind.Relative);
image.Source = bm;

基本上你正在混合这两种方式。

问题在于我已经尝试了所有这些方法,但仍然无法正常工作。我甚至尝试在Visual Studio中使用复制路径的方法,但结果只是图片消失了。这真的很令人沮丧。 - Matija Sovic
@MatijaSovic 我已经测试过了。 - loop
也分享一下你的按钮点击事件。我会看看出了什么问题? - loop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接