byte [](画像)をaxmlビューの画像コントロールにバインドする方法を知っている人はいますか?私のViewModelはMvxViewModelから継承します。他のすべてのバインディングはうまく機能しますが、その画像をバインドする方法が見つかりません。
質問する
2411 次
2 に答える
2
カスタム UI コントロールを使用してこれをバインドできると思います。
これを行うには、次のようにする必要があります。
MyImageView
新しいものを継承するImageView
- デフォルトのコンストラクターを追加します(コンテキストと属性を基本コンストラクターに渡します)
RawImage
に新しいプロパティを追加し、次のようMyImageView
に実装します。private byte[] _rawImage; public byte[] RawImage { get { return _rawImage; } set { _rawImage = value; if (_rawImage == null) return; var bitmap = BitmapFactory.DecodeByteArray(_rawImage, 0,_rawImage.Length); SetImageBitmap(bitmap); } }
MyImageView
その後、通常の .xml の代わりに axml でそのコントロールを使用できますImageView
。
注 - 上記のコードはテストされていませんが、ビューで byte[] を取得すると、どの Droid コードを使用するかがわかると思います。
これに対する別のアプローチとして、カスタム バインディングを使用しbyte[]
て a を法線にバインドすることもできます。「MvvmCross でカスタム バインド プロパティを実行するにはどうすればよいですか」ImageView
のカスタム バインディングの例を参照してください。
于 2013-01-07T17:50:52.227 に答える