C# changing the source of an image box with uri
我几乎写了一段代码,它根据随机的 int 值选择要在图像框中加载的图像。
我将所有图像存储在我的解决方案资源管理器中名为"projectImages"的地图中。
我得到的错误是"System.dll 中发生了"System.UriFormatException"类型的未处理异常"
"附加信息:无效的 URI"。这可能意味着我没有正确连接链接。
提前致谢。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | { int[] ImageValues = new int[15]; ImageValues[0] = 1; ImageValues[1] = 2; ImageValues[2] = 3; ImageValues[3] = 4; ImageValues[4] = 5; ImageValues[5] = 6; ImageValues[6] = 7; ImageValues[7] = 8; ImageValues[8] = 9; ImageValues[9] = 10; ImageValues[10] = 11; ImageValues[11] = 12; ImageValues[12] = 13; ImageValues[13] = 14; ImageValues[14] = 15; Random randomize = new Random(); int initialValue = randomize.Next(1, 16); int finalValue = ImageValues[initialValue]; if(finalValue == 1) { leftImagebox.Source = new BitmapImage(new Uri(@"projectImages\\triangle.png")); midImagebox.Source = new BitmapImage(new Uri(@"projectImages\\circle.png")); rightImagebox.Source = new BitmapImage(new Uri(@"projectImages\\square.png")); question.Content ="Kan jij de driehoek aanwijzen?"; } else if(finalValue == 2) { leftImagebox.Source = new BitmapImage(new Uri(@"projectImages\\middelstestaaf.png")); midImagebox.Source = new BitmapImage(new Uri(@"projectImages\\kortestaaf.png")); rightImagebox.Source = new BitmapImage(new Uri(@"projectImages\\langestaaf.png")); question.Content ="Kan jij de langste staaf aanwijzen?"; } else if (finalValue == 3) { leftImagebox.Source = new BitmapImage(new Uri(@"projectImages\\triangle.png")); midImagebox.Source = new BitmapImage(new Uri(@"projectImages\\circle.png")); rightImagebox.Source = new BitmapImage(new Uri(@"projectImages\\square.png"); question.Content ="Kan jij de cirkel aanwijzen?"; } |
你是否确定你已经在你的项目中引用了图片资源并且路径是正确的,如果是的话,试试
如果你使用WPF或Silverlight,我强烈建议你在你的项目中使用Pack Uri,这里是关于pack uri的官方文档。
那么 Uri 应该是这样的: