Gui neu angelegt
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
using StammGenerator.Interface;
|
||||
using System;
|
||||
|
||||
namespace StammGenerator.ViewModel
|
||||
{
|
||||
internal class MainWindowNavigator : ObservableObject, IMainWindowNavigator
|
||||
{
|
||||
private BaseViewModel _currentViewModel = new BaseViewModel();
|
||||
public BaseViewModel CurrentViewModel
|
||||
{
|
||||
get => _currentViewModel;
|
||||
set
|
||||
{
|
||||
_currentViewModel?.Dispose();
|
||||
_currentViewModel = value;
|
||||
StateChanged?.Invoke();
|
||||
}
|
||||
}
|
||||
public event Action StateChanged;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using StammGenerator.Interface;
|
||||
|
||||
namespace StammGenerator.ViewModel
|
||||
{
|
||||
internal class ViewModelDelegateRenavigator<TViewModel> : IRenavigator where TViewModel : BaseViewModel
|
||||
{
|
||||
private readonly IMainWindowNavigator _navigator;
|
||||
private readonly CreateViewModel<TViewModel> _createViewModel;
|
||||
|
||||
public ViewModelDelegateRenavigator(IMainWindowNavigator navigator, CreateViewModel<TViewModel> createViewModel)
|
||||
{
|
||||
_navigator = navigator;
|
||||
_createViewModel = createViewModel;
|
||||
}
|
||||
public void Renavigate()
|
||||
{
|
||||
_navigator.CurrentViewModel = _createViewModel();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user