向列表中添加内容时更新ViewModel

本文关键字:更新 ViewModel 列表 添加 | 更新日期: 2023-09-27 18:27:32

我正在C#中使用LongListSelector开发一个windows phone 8.0应用程序。当我将项目添加到列表中时,屏幕上没有任何更改。使用以下示例,如果我尝试mylist。添加(新的MyList("name","address"),它已添加到我的列表中,但未显示在LongListSelector中。那么我该如何更新LongListSelector呢?

public class MyModel
{
    public string id { get; set; }
    public List<> mylist { get; set; }
}
public class MyList
{
    string name { get; set; }
    string address { get; set; }
}

向列表中添加内容时更新ViewModel

只需使用ObservableCollection<>而不是List<>。运行时框架知道ObservableCollection<>类型,您的视图将(在后台)订阅其CollectionChanged事件,并在添加或删除项目时更新自身。

public class MyModel
{
    public string id { get; set; }
    public ObservableCollection<MyList> mylist { get; set; }
}