首页 新闻 会员 周边 捐助

请问MVVM ViewModel中为DataGrid提供ObservableCollection时,需要查询数据库或者比较耗时的操作,如何优化

0
悬赏园豆:20 [已解决问题] 解决于 2013-06-20 09:52

我想到了在给ObservableCollection<T>集合加载数据时 ,使用后台线程加载,但是发现数据无法在界面上显示。

ViewModel
public DeptListViewModel()
        {           
            Thread thread = new Thread(LoadData);
            thread.IsBackground = true;
            thread.Start();
        }

        private void LoadData(object obj)
        {
            db = new PlumsystemEntities();
            var list = from d in db.Dept select d;
            Depts = new ObservableCollection<Dept>(list);
        }
WaitingEver的主页 WaitingEver | 初学一级 | 园豆:184
提问于:2013-06-19 17:45
< >
分享
最佳答案
0
public ObservableCollection<Dept> Depts { get; set; }

private ObservableCollection<Dept> list2;
public ObservableCollection<Dept> List2
{
    get { return list2; }
    set
    {
        list2 = value;
        RaisePropertyChanged("List2");
    }
}

用下边这中集合去通知。

收获园豆:20
xiaocong_soft | 小虾三级 |园豆:556 | 2013-06-20 09:49

哦,原来要这样声明集合啊。

WaitingEver | 园豆:184 (初学一级) | 2013-06-20 09:52

@WaitingEver: yes.

xiaocong_soft | 园豆:556 (小虾三级) | 2013-06-20 09:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册