【发布时间】:2014-06-02 01:44:56
【问题描述】:
我正在通过创建这个简单的演示应用程序来学习 Caliburn.Micro。我想先显示我的 LoginView。然后,在输入凭据并且 LoginView 已关闭/停用后,我想显示我的 UserView。我使用 LoginViewModel 中的 TryClose() 方法来关闭屏幕。当我运行下面的代码时,e.WasClosed 为真,执行了 ActivateItem(new UserViewModel()) 行,但重新激活了 LoginView。
如何让 LoginView 完全关闭/停用并激活 UserView?
代码如下:
class MainViewModel : Conductor<object>.Collection.OneActive
{
LoginViewModel lvm = new LoginViewModel();
public MainViewModel()
{
ActivateItem(lvm);
lvm.Deactivated += new EventHandler<DeactivationEventArgs>(lvm_Deactivated);
}
void lvm_Deactivated(object sender, DeactivationEventArgs e)
{
if (e.WasClosed)
{
ActivateItem(new UserViewModel());
}
}
}
【问题讨论】:
标签: caliburn.micro