我嘗試將imageview與本地圖像文件綁定。在android中,我可以使用setImageUrl從資源文件夾外的文件設置圖像。我讀了N + 1小貓的例子,並嘗試使用文件的URL而不是我的項目的網址。 圖像視圖Mvvmcross將文件url綁定到imageview
<Mvx.MvxImageView
android:id="@+id/advisor_message_picture"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_marginLeft="8dp"
android:layout_alignParentRight="true"
local:MvxBind="ImageUrl MessageImage, Converter = Image" />
轉換器使用加入文件名和文件目錄URL的佈局。 Android的視圖文件將設置FILEDIR
public class ImageConverter : MvxValueConverter<string, string>
{
public static string FileDir;
protected override string Convert(string value, Type targetType, object parameter, CultureInfo culture)
{
return FileDir + "/" + value;
}
}
更新答案後
我第一次複製或下載到文件的Context.FilesDir.Path與SetImageUrl,圖像顯示了檢查。
view.FindViewById<ImageView>(Resource.Id.advisor_message_picture).SetImageURI(new FileService(_context).CopyFileFromAssetsToStorage("image.png"));
然後我使用相同的路徑和文件名
ImageConverter.FileDir = FilesDir.Path;
設置指定fileurl轉換器在視圖模型
_messageImage = "image.png";
private string _messageImage;
public string MessageImage
{
get { return _messageImage; }
set { _messageImage = value; RaisePropertyChanged(() => MessageImage); }
}
它現在。問題是我誤解了視圖模型的綁定時間