您的服务层可以公开 IObservable<IExtractedFileInfo> 。然后,您的视图模型将订阅该视图并将其接收的任何项目推送到 ObservableCollection<IExtractedFileInfo> (您的视图受到约束)。当然,它需要在UI线程上订阅。
IObservable<IExtractedFileInfo>
ObservableCollection<IExtractedFileInfo>
然后,您的服务层无需在收到项目时保留项目,并且您的VM可以自由使用所有反应性扩展的优点来执行诸如批处理项目之类的操作或延迟其应用程序。