首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xamarin-FreshMVVM不以异步方式工作

Xamarin-FreshMVVM不以异步方式工作
EN

Stack Overflow用户
提问于 2017-09-15 11:47:41
回答 1查看 577关注 0票数 0

这是一个Xamarin应用程序,我试图在Init中调用一个异步方法,该方法是在FreshMVVM中实现的,但似乎不起作用。

当我加载页面时,ListView是空的,尽管绑定是正确的。事实上,如果我删除放置一些int常量的等待调用,ListView就会正确显示。

代码语言:javascript
复制
public class MainPageModel : BasePageModel
{
    private IService _service;
    public List<ModeMenuItem> List { get; set; }

    public MainPageModel(IService Service)
    {
        _service = Service;
    }

    public override async void Init(object initData)
    {
        base.Init(initData);

        List = new List<ModeMenuItem>()
        {
            new ModeMenuItem()
            {
                Name ="Test 1",
                Image ="\uE7EE",
                ViewModelType =null,
                TotalRequests = await _service.Count()
            },
            new ModeMenuItem()
            {
                Name ="Test 2",
                Image ="\uE913",
                ViewModelType =null,
                TotalRequests =await _service.Count()
            },
            new ModeMenuItem()
            {
                Name ="Test 3",
                Image ="\uE8CF",
                ViewModelType =null
            }
        };
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-15 12:07:33

由于要延迟向ListView提供的数据的填充和初始化,所以需要:

  1. 在您的INotifyPropertyChanged上实现ViewModel,并在创建List属性时启动它。
  2. 让您的List成为一个ObservableCollection,并在ViewModel的构造函数中实例化它,然后在稍后的某个时候填充它。

你也可以把两者混合在一起。

因此,选项1将只引发PropertyChanged事件:

代码语言:javascript
复制
private List<ModeMenuItem> _list;
public List<ModeMenuItem> List 
{ 
    get => _list; 
    set
    {
        _list = value;
        RaisePropertyChanged();
    }
}

备选案文2将是:

代码语言:javascript
复制
public ObservableCollection<ModeMenuItem> List { get; } 
    = new ObservableCollection<ModeMenuItem>();

然后在没有新的收藏的情况下把它插进去:

代码语言:javascript
复制
List.Add();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46238853

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档