3

我在 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 中进行吗?

4

1 回答 1

1

就是 WP7 解决问题的方法。它应该适用于您的情况。

文档

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

于 2012-10-17T18:47:14.797 回答