我在MainView中添加了另一个名为LogicView的视图。我为LogicView创建了一个上下文菜单,当单击菜单项时,它将发布“ ConvertToCode()”消息,但是我想将名为ConvertToCode的消息发送到我的MainViewModel而不是LogicViewModel。否则,我必须使用EventAggregator并将消息从LogicViewModel发布回MainViewModel,这似乎非常多余。

MainViewl.Xaml:

<my:LogicView x:Name="logicView" AllowDrop="True">
      <my:LogicView.ContextMenu>
          <ContextMenu StaysOpen="True">
                <MenuItem Header="Convert To Code"
                 cal:Message.Attach="ConvertToCode()"/> //I'd like to send this to mainviewmodel
          </ContextMenu>
      </my:LogicView.ContextMenu>
 </my:LogicView>


在Caliburn Micro中可以这样做吗?

最佳答案

This是如何解决WP7的问题。它应适用于您的情况。

docs


  Action.TargetWithoutContext –仅将Action.Target属性设置为指定的实例。字符串值用于解析
  IoC容器中的实例。

关于c# - Caliburn micro将message.attach附加到所需的 View 模型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12931542/

10-10 21:41