我目前正在我机器上“MyPictures”文件夹的一个文件夹中加载所有图像,这样可以正常工作......
foreach (string filename in Directory.GetFiles(Environment.GetFolderPath(Environment.SpecialFolder.MyPictures)))
我真正希望能够做的是在我的解决方案项目中的Images文件夹中加载所有图像。有人可以告诉我这样做的正确语法吗?
答案 0 :(得分:0)
[就我所知,你的问题中没有任何内容(正如目前所说)与WPF实际上直接相关,而不是C#(和Windows开发)。如果问题被标记为C#而不是WPF,则可能会得到更好的答复。]
我认为没有办法像你这样引用你的解决方案的文件夹(它也没有多大意义,因为你的应用程序的用户通常不会有解决方案,只有可分发的)。
如果您需要以某种方式将目录放在解决方案文件夹中,也许您应该参考可执行文件所在的目录(...\SolutionDir\bin\Debug
),您可以使用该目录
System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly()
.GetModules()[0].FullyQualifiedName);
(当然,你可以用\..\..
来代替SolutionDir
,但这有点难看。)
根据图像的用法,将它们放在一个已定义的特殊目录下可能会更好 - Environment.SpecialFolder.CommonApplicationData
听起来像是最佳候选者,如果要共享图像的话所有用户。
答案 1 :(得分:0)
访问存储在WPF项目内的文件夹中的图像的一种方法是执行以下操作:
如果您已在Images文件夹中添加了图像,请在Properties下的Resources.resx文件中添加图像文件名。您可以通过以下
访问代码中的图像string imageFilename = "pack://application:,,,/APP.UI;component/Images/" + Properties.Resources.imagefilename;
var src = new BitmapImage();
src.UriSource = new Uri(imageFilename , UriKind.Absolute);