是否可以将某些文件夹中的所有图像添加到列表或其他内容?

时间:2012-05-05 10:38:08

标签: c# wpf

例如,我的项目中的“图像”文件夹中有100张图像。 那疯狂决定定义100次新图像并将它们添加到我的列表中。我猜必须有更简单的方法..

2 个答案:

答案 0 :(得分:4)

制作图片扩展名列表:

public static readonly List<string> ImageExtensions = new List<string> {
   ".jpg",
   ".jpe",
   ".bmp",
   ".gif",
   ".png"
};

要制作图像列表,您可以遍历文件夹文件,根据其扩展名区分它们:

string YourDir = "Images\\";
List<Image> MyImgList = new List<Image>();
string[] images = System.IO.Directory.GetFiles(YourDir);
images = images.Where(F => ImageExtensions.Contains(System.IO.Path.GetExtension(F))).ToArray();

foreach (string Img in images) {
   BitmapImage bmp = new BitmapImage();
   bmp.BeginInit();
   bmp.UriSource = new Uri(Img, UriKind.Relative);
   bmp.EndInit();
   MyImgList.Add(new Image { Source = bmp });
}

答案 1 :(得分:1)

Directory.GetFiles(@"c:\images", ". jpg")