Aus der VM heraus wechsle ich die Views auch per Messaging.
ZitatAlles anzeigenMainViewModel.cs
Im Konstruktor:
Messenger.Default.Register<Messages.ChangeScreenMessage>(this, x => ReceiveChangeScreenMessage(x));
Als Methode:
private void ReceiveChangeScreenMessage(Messages.ChangeScreenMessage x)
{
switch (x.PageName)
{
case Messages.ViewName.A:
CurrentViewModel = MainViewModel._AViewModel;
break;
case Messages.ViewName.B:
CurrentViewModel = MainViewModel._BViewModel;
break;
default:
break;
}
}
ZitatIn einer bestimmten View drin, beispielsweise View A:
Messenger.Default.Send<Messages.ChangeScreenMessage>(new Messages.ChangeScreenMessage() { PageName = Messages.ViewName.B, ... });
Nun kannst du noch den Command des Buttons mit einem Switch-Statement über die jetzige View ergänzen oder sowas und basierend darauf unterschiedliche Messages senden
