MvxImageView,无法将ImageUrl绑定到本地资源

Tim*_*ews 5 xamarin.android mvvmcross

我正在使用MvvmCross 3.0.14和Xamarin.Android.

我有一个MvxImageView,如果我使用android:src直接指定图像(没有绑定),我可以显示一个特定的本地图形资源:

<Mvx.MvxImageView
  android:layout_width="100dp"
  android:layout_height="75dip"
  android:layout_weight="1"
  android:src="@drawable/Card_kh"/>
Run Code Online (Sandbox Code Playgroud)

但我无法使用local显示相同的图像:MvxBind:

<Mvx.MvxImageView
  android:layout_width="100dp"
  android:layout_height="75dip"
  android:layout_weight="1"
  local:MvxBind="ImageUrl 'res:Card_kh'"/>
Run Code Online (Sandbox Code Playgroud)

这不起作用.MvxAndroidLocalFileImageLoader.LoadResourceBitmap记录一条跟踪消息,指示'Card_kh'不是已知的可绘制名称.令人鼓舞的是它达到了这么远 - 至少我知道这些信息的预期消费者确实得到了它.但显然我没有以正确的格式提供这些信息.

更进一步,我的目标是让我的ViewModel确定应该使用哪种资源,例如

class MyViewModel : MvxViewModel
{
  public string SomeImagePath { get { return "res:Card_kh"; } }
}
Run Code Online (Sandbox Code Playgroud)

<Mvx.MvxImageView
  android:layout_width="100dp"
  android:layout_height="75dip"
  android:layout_weight="1"
  local:MvxBind="ImageUrl SomeImagePath"/>
Run Code Online (Sandbox Code Playgroud)

如何将MvxImageView绑定到视图模型确定的本地资源图像,我需要做什么?

Tim*_*ews 8

问题只是资源名称中的大写.虽然图像文件名以大写字母C开头,而android:src属性使用大写字母C,但ImageUrl的MvxBind需要小写c:

<Mvx.MvxImageView
  android:layout_width="100dp"
  android:layout_height="75dip"
  android:layout_weight="1"
  local:MvxBind="ImageUrl 'res:card_kh'"/>
Run Code Online (Sandbox Code Playgroud)

当ImageUrl值的源是viewmodel属性时,这也解决了这个问题:

class MyViewModel : MvxViewModel
{
  public string SomeImagePath { get { return "res:card_kh"; } }
}
Run Code Online (Sandbox Code Playgroud)

<Mvx.MvxImageView
  android:layout_width="100dp"
  android:layout_height="75dip"
  android:layout_weight="1"
  local:MvxBind="ImageUrl SomeImagePath"/>
Run Code Online (Sandbox Code Playgroud)