public class MainViewModel : ObservableObject
{
private readonly MainModel _mainModel;
internal readonly DummyViewModel? DummyVm;
internal readonly StartViewModel? StartVm;
private object _currentView = null!;
public object CurrentView
{
get => _currentView;
set => Update(ref _currentView, value);
}
public ICommand StartViewModelCommand => new RelayCommand(_ => _mainModel.ChangeView(ViewChanged, StartVm));
[...]
public MainViewModel()
{
_mainModel = new MainModel();
StartVm = new StartViewModel();
DummyVm = new DummyViewModel();
CurrentView = StartVm;
}
private void ViewChanged(object view)
{
CurrentView = view;
}
}
public class MainViewModel : ObservableObject
{
private readonly MainModel _mainModel;
internal readonly DummyViewModel? DummyVm;
internal readonly StartViewModel? StartVm;
private object _currentView = null!;
public object CurrentView
{
get => _currentView;
set => Update(ref _currentView, value);
}
public ICommand StartViewModelCommand => new RelayCommand(_ => _mainModel.ChangeView(ViewChanged, StartVm));
[...]
public MainViewModel()
{
_mainModel = new MainModel();
StartVm = new StartViewModel();
DummyVm = new DummyViewModel();
CurrentView = StartVm;
}
private void ViewChanged(object view)
{
CurrentView = view;
}
}