我有一组嵌套的视图如下:
每个视图都有一个Presenter,其中包含:
MainViewPresenter
不了解观看情况或查看演示者ViewA
或ViewB
ViewA
和ViewB
由各自的演示者单独管理,然后由SplitViewPresenter
我会在ViewA
订阅的ViewAPresenter
中发生事件。 SplitViewPresenter
可以订阅儿童演示者的活动,然后将这些活动冒充到MainViewPresenter
。但这似乎是一种可怕的浪费,只是为了点击ViewA
点击按钮。
似乎应该有一种方法可以将某些事件监听器从MainViewPresenter
耦合到ViewA.OnButtonClick
。
在MainViewPresenter
无法预知其他演示者显示内容的情况下,Observer / Observable模式似乎不合适。或者可能有使用Reactive的实现可以工作(注意:.Net 4.0)
代表是否可以走?我知道ViewA
上的每个事件订阅可能需要一个不同的委托,这很好。在此特定实例中,按钮单击将包含需要执行的操作:
ViewA
创建的新模型添加到MainView
答案 0 :(得分:0)
我意识到MainView
中的树视图有一个树节点的集合。此集合已经提升了CollectionChanged
订阅的MainViewPresenter
个事件。
ViewAPresenter
引用了此集合,只是将保存的模型添加到集合中。反过来,通知MainViewPresenter
并添加正确的节点。