1

在我的视图模型中,我通常需要从数据库中获取数据或检查一些端口和连接以访问一些硬件,这大约需要 3-10 秒。

如果我将该初始化放入我的 VM 构造函数,那么 UI 将冻结。我当然不想要那个。我可以生成一个新线程并在那里进行初始化,但这总是会带来实现和同步开销,因为我需要在许多 VM 中执行此操作。这样的 VM ctor 看起来像这样:

public PrinterConfigurationVM()
{
    ScanPrintersOnCOM(); // Scans COM ports and identifies if it is a printer, slow
    ScanPrintersOnUSB(); // Scans USB printers, fast
    FetchPrinterConfigurations(); // Access to db, not so slow
}

是否已经有一个简单的解决方案(模式或一些库)?你的建议是什么?

系统:.NET 4.0、WPF、MVVM Light

4

0 回答 0