It's easy to set a source for an image in Xamarin:
using Xamarin.Forms;
Image image = new Image;
image.Source = "someImage.jpg";
但是我不能做相反的操作 例如:给定已设置其源的图像,打印源。
Console.WriteLine ("Print Image source ==> {0}",image.Source);
Console.WriteLine ("Print Image source ==> {0}",image.Source.ToString());
... 还有一些不连贯的组合。
有人能告诉我如何从图像中获取源(带字符串)。
答案 0 :(得分:14)
Xamarin.Forms Image.Source 属性的类型为 ImageSource 。
Xamarin.Forms 中的ImageSource 有一些继承此类的类,例如: -
您可以键入 Image.Source 以查看 Image.Source 中正在使用的实现,然后强制转换它,并访问已投放对象的属性。
例如(假设 ImageSource 是 FileImageSource ),您将拥有类似的内容: -
Xamarin.Forms.Image objImage;
..
..
..
if (objImage.Source is Xamarin.Forms.FileImageSource)
{
Xamarin.Forms.FileImageSource objFileImageSource = (Xamarin.Forms.FileImageSource)objImage.Source;
//
// Access the file that was specified:-
string strFileName = objFileImageSource.File;
}
答案 1 :(得分:2)
看起来Xamarin.Forms.Image
的{{1}}属性类型为Source
,其Xamarin.Forms.ImageSource
隐式广播。这就是为什么你可以做string
,但它没有办法回头,可能是因为它只使用字符串来查找文件并加载它。如果您需要加载文件的名称,则必须自行跟踪。