我有一个绑定到视图的 mvvm 类的背景,在 mvvm 构造函数中创建了一个 backgroundworker,以便我可以在加载页面时执行一些长事件。在我的电脑上运行该程序时,该后台工作人员运行良好,但在另一台电脑上却无法正常工作。同样,当我复制实现此后台工作程序的代码而对另一个页面几乎没有更改时,它在第二个页面中不起作用并且在第一个页面中起作用!
public CompoundsViewModel()
{
BackgroundWorker background = new BackgroundWorker();
background.DoWork += BackgroundDoWork;
background.RunWorkerAsync();
}
void BackgroundDoWork(object sender, DoWorkEventArgs e)
{
FillCompounds();
IsBusy = false;
}
实际上,在两种情况下都会触发 dowork 事件,但是视图在一种情况下没有生效,而在另一种情况下成功生效