first edit
This commit is contained in:
73
XLIMS.CORE/ViewModels/MainViewModel.cs
Normal file
73
XLIMS.CORE/ViewModels/MainViewModel.cs
Normal file
@@ -0,0 +1,73 @@
|
||||
using Microsoft.EntityFrameworkCore.ChangeTracking;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.ObjectModel;
|
||||
using System.Text;
|
||||
using System.Windows;
|
||||
using System.Windows.Input;
|
||||
using XLIMS.CONTRACT;
|
||||
using XLIMS.CORE.Windows;
|
||||
using XLIMS.MVVM.Base;
|
||||
|
||||
namespace XLIMS.CORE.ViewModels
|
||||
{
|
||||
public class MainViewModel:ViewModelBase
|
||||
{
|
||||
#region Constructor
|
||||
public MainViewModel(IServiceProvider serviceProvider)
|
||||
{
|
||||
_serviceProvider = serviceProvider;
|
||||
|
||||
// Регистрация доступных activities
|
||||
Activities.Add(serviceProvider.GetRequiredService<XLIMS.PSV.ViewModels.MainViewModel>());
|
||||
Activities.Add(serviceProvider.GetRequiredService<XLIMS.DEV.ViewModels.MainViewModel>());
|
||||
Activities.Add(serviceProvider.GetRequiredService<XLIMS.SP.ViewModels.MainViewModel>());
|
||||
Activities.Add(serviceProvider.GetRequiredService<XLIMS.TPRZ.ViewModels.MainViewModel>());
|
||||
|
||||
// По умолчанию открываем первую
|
||||
CurrentActivity = Activities.FirstOrDefault();
|
||||
|
||||
NavigateCommand = new RelayCommand<IActivityViewModel>(Navigate);
|
||||
}
|
||||
#endregion //Constructor
|
||||
|
||||
#region Events
|
||||
#endregion //Events
|
||||
|
||||
#region Fields
|
||||
public readonly IServiceProvider _serviceProvider;
|
||||
#endregion //Fields
|
||||
|
||||
#region Properties
|
||||
public ObservableCollection<IActivityViewModel> Activities { get; }
|
||||
= new ObservableCollection<IActivityViewModel>();
|
||||
|
||||
private IActivityViewModel _currentActivity;
|
||||
public IActivityViewModel CurrentActivity
|
||||
{
|
||||
get => _currentActivity;
|
||||
set
|
||||
{
|
||||
if (_currentActivity != value)
|
||||
{
|
||||
_currentActivity = value;
|
||||
OnPropertyChanged();
|
||||
}
|
||||
}
|
||||
}
|
||||
#endregion //Properties
|
||||
|
||||
#region Methods
|
||||
private void Navigate(IActivityViewModel vm)
|
||||
{
|
||||
if (vm != null)
|
||||
CurrentActivity = vm;
|
||||
}
|
||||
#endregion //Methods
|
||||
|
||||
#region Commands
|
||||
public ICommand NavigateCommand { get; }
|
||||
#endregion //Commands
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user