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

Setting Bitmaps from ViewModels in Uno.Platform won't work for Android

我正在玩 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。遗憾的是 这破坏了使用绑定的网络头像。

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

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

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

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