如何在wpf C#中的基目录(应用程序目录)中获取映像名称

时间:2017-06-13 12:47:11

标签: c# wpf

在我的基本目录中,我有一个图像文件夹。在这个文件夹中我只有一个图像,我想从中获取图像名称并将其加载到图像源。在这段代码中我收到一个错误:

  

无法找到文件' C:\ Users \ Santhosh \ Documents \ Visual Studio   2012 \ imagetest \ imagetest \ BIN \调试\ ImageFolder \ System.Linq.Enumerable + WhereSelectArrayIterator`2 [System.String,System.String] .JPG'

如何从基本目录中获取图像名称?

这是我的代码

string ImageFiles=Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory+"\\ImageFolder\\",".jpg").Select(System.IO.Path.GetFileName).ToString();
image1.source== new BitmapImage(new Uri(AppDomain.CurrentDomain.BaseDirectory + "\\ImageFolder\\"+ImageFiles+".jpg"));

2 个答案:

答案 0 :(得分:1)

调用FirstOrDefault从目录中获取第一个文件,如果目录不包含具有匹配名称的文件,则调用null

var imageFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ImageFolder");
var firstFile = Directory.EnumerateFiles(imageFolder, "*.jpg")
    .Select(Path.GetFileName)
    .FirstOrDefault();

if (firstFile != null)
{
    image.Source = new BitmapImage(new Uri(Path.Combine(imageFolder, firstFile)));
}

或更短,没有GetFileName和后续Combine

var imageFolder = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "ImageFolder");
var firstFile = Directory.EnumerateFiles(imageFolder, "*.jpg")
    .FirstOrDefault();

if (firstFile != null)
{
    image.Source = new BitmapImage(new Uri(firstFile));
}

答案 1 :(得分:0)

这就是你的第一行应该是这样的:

string ImageFiles = Directory.GetFiles(AppDomain.CurrentDomain.BaseDirectory + "\\ImageFolder\\").Select(System.IO.Path.GetFileName).First();