如何处理MVP / MVVM支持的GUI应用程序中的选择

时间:2010-07-22 16:14:34

标签: design-patterns mvvm mvp

在使用MVP / MVVM的GUI应用程序中,假设Presenter / ViewModel呈现列表/集合,并且一次可以选择一个或多个项目。因为应用程序的其他部分可能会随着选择的变化而改变,所以选择是否需要自己的Presenter / ViewModel?如果不是,给定的Presenter如何最好地处理选择?

(这是概念性的,并非特定于Microsoft的WPF等)

2 个答案:

答案 0 :(得分:1)

我想说在选择本身内它不需要自己的presenter / viewmodel,但包含列表的整体视图将捕获选择内容。

由于您有应用程序的其他部分响应选择,因此这些视图将具有自己的presenter / viewmodel来处理特定选择。选择属性更改时,这些其他视图将接收事件。如果你需要根据选择创建一个新的视图我也会让一个Controller听这个事件。

此方案通常在复合应用程序和可插入视图中完成。虽然您不需要沿着完全复合路由,但您可以轻松实现这些应用程序使用的EventAggregator模式。

查看其中描述的EventAggreator。虽然它是Prism,但您可以相对容易地在应用程序中实现该模式。

答案 1 :(得分:1)