首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Windows 8上显示Xamarin窗体中任意文件夹中的图像

如何在Windows 8上显示Xamarin窗体中任意文件夹中的图像
EN

Stack Overflow用户
提问于 2016-04-09 20:24:06
回答 2查看 2K关注 0票数 3

这可能是一匹死路一条,但我需要能够在我的Xamarin应用程序之外提供一个充满图像的本地文件夹--而不是作为资源,不需要编译来添加更多的图像--并在应用程序中,在Image对象中显示这些图像。我的主要目标平台是Windows 10,其他的很好,不是必需的。

Xamarin Forms Image通常采用文件名(无路径)或URI。我无法从本地文件系统获得定位和显示图像的两种方法。我一定是做了什么根本的错事。

非工作样本:

代码语言:javascript
运行
复制
Image i = new Image();
i.Source = ImageSource.FromFile(some.png); // Needs to be from folder on local disk
grid.Children.Add(i, c, r);

我发现的大多数文章都解释了如何将图像与应用程序捆绑在一起作为源代码的一部分;同样,我需要在应用程序中从文件夹中显示它们,而不必将它们与应用程序捆绑在一起。用户应该能够添加更多的图片到文件夹,他们将在应用程序中工作,而不重新编译/重新安装-就像一个图片库。

编辑:我能够使用PCLStorage https://github.com/dsplaisted/pclstorage成功地读取文本文件。有没有办法将它连接到Xamarin格式的图像中?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-09 21:34:08

您需要编写一个特定于平台的类来读取图像,并返回一个可以由StreamImageSource使用的流。然后,您可以使用DependencyService向窗体PCL公开此行为。

或者,您可以使用PCLStorage

代码语言:javascript
运行
复制
  var f = await FileSystem.Current.LocalStorage.GetFileAsync (path);

  Stream s = await f.OpenAsync (FileAccess.Read);
  image.Source = ImageSource.FromStream(() => s);
票数 5
EN

Stack Overflow用户

发布于 2016-04-09 21:19:42

基本上,你不能。如果你不把图像和你的应用程序捆绑在一起,你就必须以某种方式将图像传输到应用程序。最常见的情况是,您在某个web服务器上提供这些映像,应用程序在那里从该web服务器下载图像。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36522255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档