2014-01-05 8 views
5

Xamarin.AndroidでMvvmCross 3.0.14を使用しています。 SRC:MvxImageView、ImageUrlをローカルリソースにバインドできません

は、私は私が(結合せず)に直接画像を指定した場合アンドロイド使用して、特定のローカルグラフィックスリソースを表示するために取得することができますMvxImageView持っ

<Mvx.MvxImageView 
    android:layout_width="100dp" 
    android:layout_height="75dip" 
    android:layout_weight="1" 
    android:src="@drawable/Card_kh"/> 

をしかし、私は同じ画像を取得することはできませんローカルを使用して表示する:MvxBind:

<Mvx.MvxImageView 
    android:layout_width="100dp" 
    android:layout_height="75dip" 
    android:layout_weight="1" 
    local:MvxBind="ImageUrl 'res:Card_kh'"/> 

これは機能しません。 MvxAndroidLocalFileImageLoader.LoadResourceBitmapは、 'Card_kh'が既知の描画可能名でなかったことを示すトレースメッセージを記録します。それはそれがそれを持っていることを奨励しています - 少なくとも私はこの情報の意図された消費者がそれを得たことを知っています。しかし、明らかに私は正しい形式でその情報を提供していません。

実際の目標は、ViewModelにどのリソースを使用するかを決定させることです。

class MyViewModel : MvxViewModel 
{ 
    public string SomeImagePath { get { return "res:Card_kh"; } } 
} 

<Mvx.MvxImageView 
    android:layout_width="100dp" 
    android:layout_height="75dip" 
    android:layout_weight="1" 
    local:MvxBind="ImageUrl SomeImagePath"/> 

私はローカルリソースイメージ決定ビューモデルにMvxImageViewバインドを持って行う必要がありますか?

答えて

8

問題はリソース名の大文字化だけでした。画像のファイル名は、資本C、およびアンドロイドで始まりますが: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'"/> 

をこれも時にIMAGEURL値のソースの問題を解決しますviewmodelプロパティは次のとおりです。

class MyViewModel : MvxViewModel 
{ 
    public string SomeImagePath { get { return "res:card_kh"; } } 
} 

<Mvx.MvxImageView 
    android:layout_width="100dp" 
    android:layout_height="75dip" 
    android:layout_weight="1" 
    local:MvxBind="ImageUrl SomeImagePath"/> 
関連する問題