【发布时间】:2016-05-19 20:58:54
【问题描述】:
我有一个名为 AppViewModel 的类,这个类负责控制屏幕。 AppViewModel 扩展了我的 BaseConductor:
public class BaseConductor : Conductor<Screen>.Collection.OneActive
{
...
}
然后,我在 AppViewModel 的构造函数上调用了一个视图模型(UserControl):
this.ActivateItem(new FirstViewModel());
在FirstViewModel上,用户点击按钮后我想打开SecondViewModel并关闭FirstViewModel:
var conductor = this.Parent as IConductor;
conductor.DeactivateItem(this, true);
conductor.ActivateItem(new SecondViewModel(param));
我已经尝试过这样做:
((IApp)this.Parent).ActivateItem(new SecondViewModel(param));
TryClose();
SecondViewModel 扩展了我的 BaseScreen:
public class BaseSceen : Screen
{
...
}
我想关闭 FirstViewModel,因为在 FirstViewModel 和 SecondViewModel 上我有快捷方式。当我打开 SecondViewModel 时,我点击了一个快捷方式,执行它的方法来自 FirstViewModel。 所以,FirstViewModel 仍在运行。
如何关闭 FirstViewModel 并避免快捷方式出现此问题?
谢谢!
【问题讨论】:
标签: c# wpf caliburn.micro