Caliburn Micro,消息/动作到另一个ViewModel

时间:2014-02-13 06:31:55

标签: .net mvvm caliburn.micro

我得到了一个包含多个子视图(和视图模型)的ShellViewModel。子视图可以使用Message.Attach轻松绑定到ShellViewModel中的方法。它起泡了。但是我可以“冒泡”,以便ShellViewModel在子ViewModel中触发一个方法,甚至从一个子视图触发,然后再触发到另一个子视图吗?

AFAIK我可以使用EventAggregator,但它是最优雅的方式吗?

1 个答案:

答案 0 :(得分:4)

我相信,没有“泡沫破灭”这样的事情。但是,您可以使用Bind.ModelWithoutContext将操作目标移动到您的子ViewModel:

<Button cal:Message.Attach="DoIt" cal:Bind.ModelWithoutContext="{Binding Path=ChildViewModel}" Content="Test It!"/>

https://caliburnmicro.codeplex.com/wikipage?title=All%20About%20Actions上有“一些”文档。希望它会对你有所帮助。