Ich habe eine Klasse namens AppViewModel, diese Klasse ist es verantwortlich, die Bildschirme zu steuern. AppViewModel erweitert meine BaseConductor:WPF Caliburn.Micro: Leben Cicyle Probleme
public class BaseConductor : Conductor<Screen>.Collection.OneActive
{
...
}
Dann nenne ich eine Viewmodel (Usercontrol) an den Konstruktor von AppViewModel:
this.ActivateItem(new FirstViewModel());
Auf FirstViewModel, nachdem der Benutzer auf eine Schaltfläche klickt Ich möchte öffnen SecondViewModel und schließen Sie die FirstViewModel:
var conductor = this.Parent as IConductor;
conductor.DeactivateItem(this, true);
conductor.ActivateItem(new SecondViewModel(param));
Ich habe bereits versucht, dies zu tun:
((IApp)this.Parent).ActivateItem(new SecondViewModel(param));
TryClose();
SecondViewModel erweitert meine BaseScreen:
public class BaseSceen : Screen
{
...
}
ich die FirstViewModel, denn auf der FirstViewModel und SecondViewModel I Kürzel schließen möchten. Wenn ich das SecondViewModel geöffnet habe, klicke ich auf eine Verknüpfung, und die Methode, die ausgeführt wird, stammt von FirstViewModel. So läuft das FirstViewModel noch.
Wie kann ich das FirstViewModel schließen und dieses Problem mit Verknüpfungen vermeiden?
Danke!
Hallo, ich habe viele Bildschirme mit Tasten, also ziehe ich es vor, sie rufen den nächsten Bildschirm auf. Ich bearbeitet AppViewModel zu Dirigent und immer noch nicht funktioniert :( –