シンプルな MvvmCross プロジェクトで、Android の Asset/image.png から画像を読み込もうとしています。これを検索したところ、これが機能する1つの方法であることがわかりました。
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 {
そのエラーはどういう意味ですか?