我尝试将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); }
}
它现在。问题是我误解了视图模型的绑定时间