C# Xamarin MvvmCross:视图模型中的视图模型是否可能与相应的.Droid视图匹配?

C# Xamarin MvvmCross:视图模型中的视图模型是否可能与相应的.Droid视图匹配?,c#,xamarin,mvvmcross,C#,Xamarin,Mvvmcross,我目前正在做一个项目,它有一个ViewModel,它可以获取一些信息并在.Droid视图中显示一些文本和一个函数,它可以获取base64,将其转换为图像,然后将其放置在布局中的ImageView中,这没什么大不了的 布局的同一ViewModel获得一个对象列表,然后将其放入MvxListView(ListItem类扩展了MvxViewModel)中,与ListItem的相应布局一起使用foreach循环中实例化时设置的变量中的一些文本,所有文本 但是每个ListItem都需要显示来自服务器提供的

我目前正在做一个项目,它有一个ViewModel,它可以获取一些信息并在.Droid视图中显示一些文本和一个函数,它可以获取base64,将其转换为图像,然后将其放置在布局中的ImageView中,这没什么大不了的

布局的同一ViewModel获得一个对象列表,然后将其放入MvxListView(ListItem类扩展了MvxViewModel)中,与ListItem的相应布局一起使用foreach循环中实例化时设置的变量中的一些文本,所有文本

但是每个ListItem都需要显示来自服务器提供的base64字符串的图像,就像前面提到的一张图片一样。现在我的问题是,为了将这个base64字符串转换为图像,我需要在.Droid视图中执行此操作,因为包Android.Util具有我需要执行此操作的base64类

我不清楚如何做到这一点,因为ImageView实例是通过编程添加的ListItems的一部分,因此我不知道为每个ListItem ImageView分配了什么布局id。所以我认为每个ListItem都可能需要在其所属的父页面.Droid视图中拥有自己的.Droid视图。然后,每个ListItem.Droid视图可以获取、转换图像并将其分配给其ImageView

长话短说,我希望能够将ViewModel的实例及其对应的.Droid视图绑定到其ListItem布局

这里有没有人知道如何做到这一点,如果这是可能的,或者如果我可以用另一种(希望更简单)的方式解决这个问题

位于主视图模型中的ListItem类

public class EventListItemViewModel : MvxViewModel
{
    public Action LoadImageDelegate { get; set; }

    private string eventTitle;
    public string EventTitle
    {
        get { return eventTitle; }
        set { eventTitle = value; RaisePropertyChanged(() => EventTitle); }
    }

    private string timeUntil;
    public string TimeUntil
    {
        get { return timeUntil; }
        set { timeUntil = value; RaisePropertyChanged(() => TimeUntil); }
    }

    private string imgUrl;

    public string ImgUrl
    {
        get { return imgUrl; }
        set {

            imgUrl = value;
            //LoadImageDelegate?.Invoke();
        }
    }
}
Foreach循环当前实例化列表项:

foreach (Event e in Events)
            {
                CompleteEventList.Add(new EventListItemViewModel { EventTitle = e.Name, TimeUntil = "0 h", ImgUrl = e.ImgUrl});
            }

我认为您可以使用提供商来解决此问题。在核心项目中创建一个接口将base64转换为图像,并在Droid项目中实现它。这样,您就不需要为每个视图创建新视图。在准备视图模型时,只需调用转换类。如何从.Dorid设置每个ImageView的源?我如何从foreach循环中的.Core调用它?在这种情况下,.Droid部分如何知道该列表项的布局id?我认为您可以使用提供程序来解决这个问题。在核心项目中创建一个接口将base64转换为图像,并在Droid项目中实现它。这样,您就不需要为每个视图创建新视图。在准备视图模型时,只需调用转换类。如何从.Dorid设置每个ImageView的源?我如何从foreach循环中的.Core调用它?在这种情况下,.Droid部分如何知道该列表项的布局id?