android - 在 Uno.Platform 中从 ViewModels 设置位图不适用于 Android

标签 android .net uwp uno-platform

我在玩 Uno.Platform,我的 ViewModel 有这样的代码:

new Item
{
    Name = "Mario",
    Number = 11,
    Image = new Uri("ms-appx:///mario.png", UriKind.Absolute)
},

然后,在 XAML 中我有一个 <Image Source="{Binding Image}" />

问题?它仅适用于 UWP 和 Web 头

如果我想让它在 Android 中工作,我必须将位图放在 Resources\drawables 中作为 AndroidResource 并将 Uri 更改为 => new Uri("mario.png") ,但这会破坏 UWP 和 Web。

有什么好的方法可以克服这个限制吗?


更新

正如@JeromeLaban 所建议的那样,我将 Uno.UI 更新到最新版本(预发布)并且它开始工作了!我一直在使用 ms-appx:///absolute uris。遗憾的是,这破坏了使用绑定(bind)的网络头像。

解决方法是编辑链接器文件:进入 WASM 项目,转到 LinkerConfig.xml 并将其添加到节点中

<assembly fullname="System">
    <type fullname="System.*Converter" />
</assembly>

最佳答案

正如@JeromeLaban 所建议的那样,我将 Uno.UI 更新到最新版本(预发布)并且它开始工作了!我一直在使用 ms-appx:///absolute uris。遗憾的是,这破坏了使用绑定(bind)的 Web 头像。 解决方法是编辑链接器文件:进入 WASM 项目,转到 LinkerConfig.xml 并将其添加到节点中

<assembly fullname="System">
    <type fullname="System.*Converter" />
</assembly>

关于android - 在 Uno.Platform 中从 ViewModels 设置位图不适用于 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54622505/

相关文章:

c# - UWP C# 的 Converter 和 ConvertAll 替代方案

android - 当用户在 Google Maps v2 for Android API 上按下“我的位置中心”按钮时如何收到通知

asp.net - 如何使用 Rc1 - Final 将 dxn 运行时设置为 .net 4.6.1

.net - 如何编译着色器 fx 文件以在 WPF 中使用?

c# - 动态创建 StackPanel 并在后面的代码中引用它们中的任何一个

c# - 我可以在标准 .Net 应用程序中使用 PCL 库吗?

android - 当父activity的状态必须保存时,你如何处理 fragment 事务?

android - 以编程方式设置 android :windowIsTranslucent

android - 如何在 Android 上使用 ffmpeg 命令

.net - 通用字典并为多部分键生成哈希码