在一个漫长的过程中产生使用

本文关键字:过程中 漫长的 一个 | 更新日期: 2023-09-27 17:54:37

假设我有一个类似

的函数
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,这是产量应该的情况吗被使用?

在一个漫长的过程中产生使用

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

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