我在玩 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/