Restructured the VM/Vs folder layout while it's still feasible

This commit is contained in:
Robert committed 2019-11-15 15:53:55 +01:00
1 parent 7443c0eda7
commit 368b73ce9c
48 files changed
+397 -469

No files matched your search

@@ -1,4 +1,5 @@
using System.Threading.Tasks;
using Artemis.UI.Screens.Dialogs;
using Artemis.UI.Services.Interfaces;
using Artemis.UI.ViewModels.Dialogs;
using MaterialDesignThemes.Wpf;
@@ -0,0 +1,29 @@
using Artemis.UI.ViewModels.Utilities;
using MaterialDesignThemes.Wpf;
using Stylet;
namespace Artemis.UI.ViewModels.Dialogs
{
public abstract class DialogViewModelBase : ValidatingModelBase
{
protected DialogViewModelBase(IModelValidator validator) : base(validator)
{
}
protected DialogViewModelBase()
{
}
public DialogViewModelHost DialogViewModelHost { get; set; }
public DialogSession Session { get; private set; }
public void OnDialogOpened(object sender, DialogOpenedEventArgs e)
{
Session = e.Session;
}
public virtual void OnDialogClosed(object sender, DialogClosingEventArgs e)
{
}
}
}
@@ -0,0 +1,29 @@
using Artemis.UI.ViewModels.Dialogs;
using MaterialDesignThemes.Wpf;
using Stylet;
namespace Artemis.UI.ViewModels.Utilities
{
public class DialogViewModelHost : PropertyChangedBase
{
private readonly IViewManager _viewManager;
public DialogViewModelHost(IViewManager viewManager)
{
_viewManager = viewManager;
}
public DialogViewModelBase ActiveDialogViewModel { get; set; }
public bool IsOpen { get; set; }
public void OpenDialog(DialogViewModelBase viewModel, string dialogIdentifier)
{
var view = _viewManager.CreateViewForModel(viewModel);
DialogHost.Show(view, dialogIdentifier, viewModel.OnDialogClosed);
viewModel.DialogViewModelHost = this;
ActiveDialogViewModel = viewModel;
IsOpen = true;
}
}
}