Mvvm 如何从不同的视图请求权限?

Mvvm 如何从不同的视图请求权限?,mvvm,caliburn.micro,Mvvm,Caliburn.micro,我有一个包含三个视图的项目:一个主视图,它包含另外两个视图。 这两个子视图包含对象列表(我们称之为视图A和视图B),它们基本上是独立的。但有时列表中包含的对象之间存在连接。 从时间的黎明开始,只有列表A中的对象“知道”类型B的对象,类型B不知道A可能存在。 这是故意的行为,很难改变。但是我知道我有一个问题:列表B中的对象可以删除,但是当它被类型a的对象引用时,这不是一个好主意。 我想做的是以某种方式“询问”视图A,它的某些对象是否与要删除的对象有连接。如果是,我会通知用户。 但我怎样才能对其进行

我有一个包含三个视图的项目:一个主视图,它包含另外两个视图。 这两个子视图包含对象列表(我们称之为视图A和视图B),它们基本上是独立的。但有时列表中包含的对象之间存在连接。 从时间的黎明开始,只有列表A中的对象“知道”类型B的对象,类型B不知道A可能存在。 这是故意的行为,很难改变。但是我知道我有一个问题:列表B中的对象可以删除,但是当它被类型a的对象引用时,这不是一个好主意。 我想做的是以某种方式“询问”视图A,它的某些对象是否与要删除的对象有连接。如果是,我会通知用户。 但我怎样才能对其进行建模呢?视图A和视图B彼此不认识。浏览MainView将是“错误的”。我会使用事件,但如果我正确理解Caliburn,我只能发送事件,但无法接收反馈。
有什么想法吗?

EventAggregator看起来像一个解决方案

  • 用户选择一个对象并单击“删除”
  • 视图B中的单击处理程序发送一条消息1,其中包含要删除的对象的id(或您用来标识的任何内容)
  • 视图A接收消息1并发送带有检查结果的消息2(删除/不删除)
  • 视图B接收消息2并删除对象或警告用户
  • message1和message2是完全独立的不同类型