Я изучаю Caliburn.Micro, создавая это простое демонстрационное приложение. Я хочу сначала отобразить свой LoginView. Затем, после ввода учетных данных и закрытия / деактивации LoginView, я хочу отобразить свой UserView. Я использую метод TryClose () в LoginViewModel, чтобы закрыть экран. Когда я запускаю приведенный ниже код, 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());
}
}
}