我在C#中有以下课程:
class User
{
string ID { get; set; }
string Name { get; set; }
Image Avatar { get; set; }
}
System.Drawing中的Xamarin.forms中没有Image
类型,那么正确的类型是什么?
修改 该映像将本地存储在设备的文件系统上或在AWS S3存储上在线存储。
编辑2:该类包含在.net标准2类库中,我将其用作我的Xamarin.Forms应用程序中的模型。因此我不能在库中使用Xamarin.Forms.Image。
答案 0 :(得分:2)
Xamarin.Mac .NET 4.5或Mobile框架的Unified API不支持
System.Drawing
。 可以使用sysdrawing-coregraphics库将System.Drawing
支持添加到iOS和OS X.
同样引自 Cheesebaron here:
如果你看一下 http://docs.xamarin.com/guides/android/advanced_topics/assemblies你 将会看到
System.Drawing
不是所发运的装配的一部分 使用Xamarin.Android
时,Xamarin.iOS
也是如此。您需要使用Android版本来过滤图片。
答案 1 :(得分:0)
@ S.Akbari mentioned,System.Drawing
不是Xamarin.Android
或Xamarin.iOS
的一部分。通常在Xamarin.Forms
个应用中,您应该使用Xamarin.Forms.Image
对象来显示来自设备或来自网址源的图片。
可以找到文件here.
答案 2 :(得分:0)
尝试Splat - 它有cross-platform image class。将它与Akavache组合以缓存图像,然后瞧。
答案 3 :(得分:0)
我已决定转到另一条路径 - byte [],因为Xamarin.Forms.Image有一种从流加载图像的方法:
ImageSource.FromStream(() => new MemoryStream(imageByteArray));
为什么我不去找Splat?它看起来非常有前途,但我有一些针对外部依赖的东西,解决方案看起来很重,特别是考虑到它仅仅是模型。