据我所知,IMvxResourceLoader可以从特定于平台的项目的“Assets”或“Resources”文件夹中加载资源。如果这是真的,是否有一种方法/插件可以从共享Core项目加载嵌入式资源?将业务逻辑(或本地化)相关资源维护在一个地方而不是将它们复制到ios / win / android项目会很方便。
答案 0 :(得分:2)
这是我用过的代码
public byte[] GetApplicationResource(ApplicationResourceName resourceName)
{
string resourcePath;
switch (resourceName)
{
case ApplicationResourceName.AudioChord:
resourcePath = AppConstants.ResourceNameAudioChord;
break;
default:
throw new ArgumentOutOfRangeException("resourceName");
}
var assembly = Assembly.GetExecutingAssembly();
using (var stream = assembly.GetManifestResourceStream(resourcePath))
{
// sanity check
if (stream != null)
{
using (var memoryStream = new MemoryStream())
{
stream.CopyTo(memoryStream);
return memoryStream.ToArray();
}
}
}
return null;
}
希望有所帮助
答案 1 :(得分:1)
我认为你不能从核心项目获得所有引用(不幸的是= /)。 还有另一篇与此相似的帖子,您可能会发现它很有用: How to bind imageSource to ImageView in MvvmCross
希望有帮助=)