我最近开始学习没有c#知识的Windows手机应用程序开发,我想制作一个应用程序,当点击按钮时,它会在ImageBox上显示一个随机图像。
每次用户按下按钮时,如何制作随机图像(从列表中)?
到目前为止,这是我所拥有的一切:
myImage.Source = new BitmapImage(new Uri("/Images/Pic1.png", UriKind.Relative));
答案 0 :(得分:3)
如果您有图像列表或图像命名约定,那么这很容易。
例如,如果您的图像被命名为“Pic1”到“Pic10”,那么只需使用:
const int numberOfImages = 10;
var rand = new Random();
int imageNumber = rand.Next(numberOfImages) + 1;
string imageName = string.Format("/Images/Pic{0}.png", imageNumber);
myImage.Source = new BitmapImage(new Uri(imageName, UriKind.Relative));
或者,如果您有一个包含可用图像名称的数组:
string[] imageNames = { "Pic1.png", "AnotherPic.png" };
var rand = new Random();
string imageName = imageNames[rand.Next(imageNames.Length)];
string imageName = string.Concat("/Images/", imageName);
myImage.Source = new BitmapImage(new Uri(imageName, UriKind.Relative));
修改强>
比运行时枚举“资源”图像更困难。 See here for a discussion of this topic.
编辑#2
实际上,上述链接中的一个答案有一个很好的方法 - use a T4 template to generate the list of images at compile time。