我在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/