在一个简单的 MvvmCross 项目中,我试图从 Android 上的 Asset/image.png 加载图像。我已经搜索过了,发现这是一种可行的方法。
Image 设置为 AndroidAsset 和 CopyAlways 并位于 Asset 文件夹中。在 ViewModel 我有这个:
private string _image = "image.png";
public string Image
{
get { return _image; }
set { _image = value; RaisePropertyChanged(() => Image); }
}
在 axml
<ImageView
android:src="@android:drawable/ic_menu_gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/imageView1"
local:MvxBind="{'AssetImagePath':{'Path':'Image'}}" />
在设置中
protected override void FillTargetFactories(IMvxTargetBindingFactoryRegistry registry)
{
registry.RegisterCustomBindingFactory<ImageView>("AssetImagePath",
imageView => new MvxImageViewImageTargetBinding(imageView));
base.FillTargetFactories(registry);
}
当我运行该应用程序时,没有显示任何内容,并且日志报告:
Problem parsing Lang binding MvxException: PropertyName must start with letter - position 0 in {'AssetImagePath':{'Path':'Image'}} - char {
这个错误是什么意思?