Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 只需从内部项目文件夹获取文件_C#_Windows Phone 7 - Fatal编程技术网

C# 只需从内部项目文件夹获取文件

C# 只需从内部项目文件夹获取文件,c#,windows-phone-7,C#,Windows Phone 7,可能重复: 我是C#的新手,这让我很恼火 我的应用程序从我在解决方案资源管理器上创建的名为images的文件夹中加载一组图像。如果我使用URI之类的硬编码,我可以看到这些图像,但我想做的是将这些图像按常规命名,然后加载。我见过一些这样的问题,但解决不了我的问题。我试着这样做: DirectoryInfo directoryInfo = new DirectoryInfo(@"/Images"); foreach (FileInfo file in directoryInfo.GetFiles(

可能重复:

我是C#的新手,这让我很恼火

我的应用程序从我在解决方案资源管理器上创建的名为
images
的文件夹中加载一组图像。如果我使用URI之类的硬编码,我可以看到这些图像,但我想做的是将这些图像按常规命名,然后加载。我见过一些这样的问题,但解决不了我的问题。我试着这样做:

DirectoryInfo directoryInfo = new DirectoryInfo(@"/Images");
foreach (FileInfo file in directoryInfo.GetFiles()) {
      photos.Add(new Photo() { FileName = file.FullName, PhotoSource = GetImageSource("Images/" + file.FullName) });
}
directoryInfo
始终设置为空。解决方案资源管理器中显示的我的项目层次结构如下所示:

 Project
     Main.xaml
         Maim.xaml.cs
     Images
         1.jpg
         2.jpg
         ...
谢谢您的帮助。

也许您想使用

string path = Path.Combine(Environment.CurrentDirectory, "Images");
foreach (string file in Directory.GetFiles(path) 
{
     photos.Add(new Photo {FileName = file, PhotoSource = GetImageSource(Path.Combine(path, Path.GetFileNameWithoutExtension(file))});
}
它返回文件夹内容的列表

Combine将单个字符串组合成完整的路径(因此您不必担心后偏移)

路径名称空间被低估了,我建议您仔细查看它,因为它会节省您很多时间。

也许您想使用它

string path = Path.Combine(Environment.CurrentDirectory, "Images");
foreach (string file in Directory.GetFiles(path) 
{
     photos.Add(new Photo {FileName = file, PhotoSource = GetImageSource(Path.Combine(path, Path.GetFileNameWithoutExtension(file))});
}
它返回文件夹内容的列表

Combine将单个字符串组合成完整的路径(因此您不必担心后偏移)

路径名称空间被低估了,我建议您仔细查看它,因为它会节省您很多时间。

来自:

对于Windows Phone应用程序,所有I/O操作仅限于 独立存储,无法直接访问底层 操作系统文件系统或其他文件系统的隔离存储 应用程序

因此,您无法以希望的方式访问图像文件夹

由于您无论如何都无法将图像动态添加到XAP,因此可用图像将保持不变。您似乎只需手动添加URI:

BitmapImage-myImage=new-BitmapImage(新Uri(“Images/myImage.png”,UriKind.Relative));

如果您有不同地区的不同图像,可以在资源文件中包含图像名称/路径,然后从中创建它们

或者,如果您有一组默认图像,然后将有一些用户添加的图像,并且您希望迭代所有这些图像,则可以在第一次启动时将默认图像从图像文件夹写入IsolatedStorage。有关使用IsolatedStorage的详细信息,您可以迭代应用程序IsolatedStorage Fil中的目录和文件e(参见)。

来自:

对于Windows Phone应用程序,所有I/O操作仅限于 独立存储,无法直接访问底层 操作系统文件系统或其他文件系统的隔离存储 应用程序

因此,您无法以希望的方式访问图像文件夹

由于您无论如何都无法将图像动态添加到XAP,因此可用图像将保持不变。您似乎只需手动添加URI:

BitmapImage-myImage=new-BitmapImage(新Uri(“Images/myImage.png”,UriKind.Relative));

如果您有不同地区的不同图像,可以在资源文件中包含图像名称/路径,然后从中创建它们


或者,如果您有一组默认图像,然后将有一些用户添加的图像,并且您希望迭代所有这些图像,则可以在第一次启动时将默认图像从图像文件夹写入IsolatedStorage。有关使用IsolatedStorage的详细信息,您可以迭代应用程序IsolatedStorage Fil中的目录和文件e(请参阅)。

问题是关于Windows Phone的。您无权访问Windows Phone上的文件系统。是的,它不起作用。
环境。CurrentDirectory
正在引发异常
尝试访问该方法失败:system.Environment.get\u CurrentDirectory()
。还有什么想法吗?谢谢。问题是关于Windows Phone的。你没有访问Windows Phone上的文件系统的权限。是的,它不工作。
环境。CurrentDirectory
正在引发异常
尝试访问该方法失败:system.Environment.get\u CurrentDirectory()
。还有什么想法吗?谢谢。