【问题标题】:M-V-VM and BackgroundWorkerM-V-VM 和 BackgroundWorker
【发布时间】:2011-02-08 16:06:04
【问题描述】:

在我的应用程序中,BackgroundWorker(管家任务)检查要从数据库中删除的数据。删除数据后,我是从 ViewModel 还是 Model 中删除该 DataItem?

(是的,我是 MVVM 新手,也许我还不太了解它)。

谢谢。

【问题讨论】:

    标签: wpf mvvm backgroundworker


    【解决方案1】:

    我不确定您到底想要完成什么,但我会提醒后台工作人员将视图模型修改为 DoWork 方法的一部分。修改 ViewModel 意味着对 UI 进行更改,这可能不会起作用,因为 DoWork 方法没有在 UI 线程上运行。

    【讨论】:

      【解决方案2】:

      这取决于你的模型和视图模型是如何实现的,但从概念上讲,我会

      • 从模型中删除数据,这反过来又应该
        • 导致数据从数据库中删除并
        • 通知视图模型,以便它们可以适当地更新其状态。

      【讨论】:

      • 好的,所以我的 ViewModel 必须监听 Model 的变化,对吧?
      • 没错。我知道这并不总是一种选择,这就是为什么我写道解决方案可能取决于模型的实现方式。另一种选择是让视图模型定期重新加载模型,如果您的应用程序的多个实例(在不同的 PC 上)访问同一个数据库,则无论如何都可能需要这样做。
      猜你喜欢
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2010-10-01
      • 2010-10-28
      相关资源
      最近更新 更多