在使用MVP/MVVM的GUI应用程序中,Presenter/ViewModel表示一个列表/集合,并且可以一次选择一个或多个项目。因为应用程序的其他部分可能会随着选择的更改而改变,所以选择是否需要自己的Presenter/ViewModel?如果不是,给定的主持人如何最好地处理选择?
(这是概念性的,并不特定于Microsoft的WPF等。)
最佳答案
我要说的是,选择项本身不需要自己的presenter/viewmodel,但是包含列表的整个 View 将捕获选择项。
由于您有应用程序的其他部分响应选择,因此这些 View 将具有自己的演示者/ View 模型来处理特定选择。当selection属性更改时,这些其他 View 将接收一个事件。如果您需要基于选择创建一个新 View ,那么我也将有一个Controller来监听此事件。
这种情况通常在复合应用程序和可插入 View 中完成。尽管您无需遵循完全复合的路线,但可以轻松实现这些应用程序使用的EventAggregator
模式。
看看其中描述的EventAggreator。尽管它是Prism,但是您可以相对轻松地在应用程序中实现模式。
关于design-patterns - 如何在MVP/MVVM支持的GUI应用程序中处理选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3310957/