在漫长的过程中产量使用

时间:2014-03-27 16:14:02

标签: c# wpf

假设我有一个像

这样的功能
public IList<type> Fetch()
{
       IList<type> list = new List<type>();
       //here comes a really long process and an item gets added to the list every few seconds
       return list;
}

现在如果我想将此功能用作以下

//in a seperate thread
AnObjectThatHasADataboundProperty.ThatProperty = Fetch();

以上将不得不等待Fetch()函数返回一个值,但我想在添加项目时更新我的​​视图,所以我想我应该向该函数发送对数据绑定属性的引用,例如它看起来像是:

Fetch(AnObjectThatHasADataboundProperty.ThatProperty);
  • 是你怎么做的?
  • 我之前从未使用yield,这是否应该是收益率的情况 用吗?

1 个答案:

答案 0 :(得分:2)

您可以使用ObservableCollection<T>类型在收藏更改时直接更新视图。例如,当您使用MVVM时,您的视图模型可以公开可观察的集合,然后您可以从视图中绑定它。

如果您从某处更新集合,视图也会自动更新。