如何将Xamarin Forms图像绑定到视图模型?

时间:2019-01-23 17:55:59

标签: mvvm xamarin.forms imagesource

如果我在iOS中有一个名为“ foo”的图像 Assets.xcassets ,我想将其分配给此XAML使用的视图模型中的绑定属性...

<Image Source="{Binding MyImageSource}" />

在视图模型中需要做什么才能使其正确加载?

我尝试将属性设置为ImageSource.FromFile("foo")。 我也尝试过ImageSource.FromFile("foo.png")。 我尝试了ImageSource.FromResource("foo.png")。 最后,由于ImageSource似乎直接从string重载了分配,所以我尝试仅分配一个ImageSource字符串值(“ foo”)。

这些方法似乎都没有从资产实际加载图像。

分配直接在XAML中进行,但是有效:

<Image Source="foo" />

是否有人知道如何将图像绑定到视图模型?

[编辑]

原因显然是因为我绑定到的视图模型实际上是一个子视图模型(页面的BindingContext中的一个属性)。如果我将源属性移动到根BindingContext,它将起作用。

绑定引擎中是否存在一些需要对ImageSource值进行不同处理的硬编码内容?

Here's a link to a small sample(如果您想尝试一下)。

0 个答案:

没有答案