2013-10-10 104 views
0

我有一个嵌套组的意见如下:
enter image description here模型 - 视图 - 演示者与代理,事件和嵌套主持人

每个视图都有一个主讲人,其中:

  • MainViewPresenter没有知识的观点或看法提供者ViewAViewB
  • ViewAViewB由其各自的主持人单独管理,并由SplitViewPresenter

我有一个会发生在ViewA其中ViewAPresenter将认购事件。 SplitViewPresenter可以订阅儿童演示者的事件,然后将其泡泡到MainViewPresenter。但是,这似乎是一个可怕的浪费,只需点击ViewA就可以点击按钮。

看起来好像应该有办法将MainViewPresenterViewA.OnButtonClick的某个事件监听器连接起来。

在这种情况下,MainViewPresenter不知道其他演示者显示的内容,Observer/Observable模式似乎不太合适。或者可能有一个使用Reactive的实现方法可行(注意:.Net 4.0,但是)

委托人会走的路吗?我知道ViewA上的每个活动订阅都可能需要一个不同的委托,这很好。在这种特定情况下,按一下按钮将需要执行的操作:

  • 用新信息更新
  • 数据库中添加由ViewA创建树视图的新模式在MainView

回答

0

我意识到MainView中的树视图具有树节点的集合。此集合已在提高MainViewPresenter订阅的CollectionChanged事件。

ViewAPresenter有一个对这个集合的引用,并简单地将保存的模型添加到集合中。接着通知MainViewPresenter并添加适当的节点。

相关问题