我目前正在开发一个应用程序,并且需要根据发生的事件更改视图。此事件意味着必须使用相同的ViewModel,但使用不同的View。我现在还不知道这对卡布本来说是否可行,但我想应该可以。我遇到的主要问题是Caliburn的配置元素的约定。例子:
我有一个ViewModel"MainViewModel",它通过约定绑定到"MainView"。当事件发生时,我希望应用程序显示"MainView2"而不是"MainView"。我可以想象有一种程序化的方式来设置它,但我对Caliburn的经验不足是一个问题。
您可以通过设置cal:View来控制ViewModel使用哪个视图。ContentControl上显示视图的Context属性。
看这里