0

我有一组嵌套的视图,如下所示:
在此处输入图像描述

每个视图都有一个 Presenter,其中:

  • MainViewPresenter不了解观点或观点演示者,ViewAViewB
  • ViewA并由ViewB各自的演示者单独管理,然后由SplitViewPresenter

我有将ViewAViewAPresenter订阅的事件。SplitViewPresenter可以订阅子演示者的事件,然后将这些事件冒泡到MainViewPresenter. 但这似乎是一种可怕的浪费努力,仅仅是从ViewA.

似乎应该有一种方法可以将一些事件侦听器从 to 耦合MainViewPresenter起来ViewA.OnButtonClick

在这种情况下,如果MainViewPresenter没有预知其他演示者显示的内容,则观察者/可观察模式似乎不合适。或者也许有一个使用 Reactive 的实现可以工作(注意:.Net 4.0 然而)

代表会是要走的路吗?我知道每个事件订阅ViewA可能需要一个不同的委托,这很好。在此特定实例中,按钮单击将具有需要执行的操作:

  • 用新信息更新数据库
  • 将创建的新模型添加ViewA到树视图中MainView
4

1 回答 1

0

我意识到树视图中MainView的树节点有一个集合。此集合已经在引发订阅 CollectionChanged的事件。MainViewPresenter

ViewAPresenter有一个对该集合的引用,并且只是将保存的模型添加到集合中。依次MainViewPresenter通知并添加适当的节点。

于 2013-10-11T05:25:34.537 回答