viewmodel ins wpf gepackt, build failed
This commit is contained in:
39
DaSaSo.Wpf/ViewModel/Commands/SelectProjectCommand.cs
Normal file
39
DaSaSo.Wpf/ViewModel/Commands/SelectProjectCommand.cs
Normal file
@@ -0,0 +1,39 @@
|
||||
using DaSaSo.Wpf.ViewModel.Interface;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace DaSaSo.Wpf.ViewModel.Commands
|
||||
{
|
||||
public class SelectProjectCommand : AsyncCommandBase
|
||||
{
|
||||
private readonly IActualProject _actualProject;
|
||||
private readonly ProjectListViewModel _projectListViewModel;
|
||||
public override bool CanExecute(object? parameter)
|
||||
{
|
||||
return _projectListViewModel.SelectedProject != null;
|
||||
}
|
||||
|
||||
public SelectProjectCommand(IActualProject actualProject, ProjectListViewModel projectListViewModel)
|
||||
{
|
||||
_actualProject = actualProject;
|
||||
_projectListViewModel = projectListViewModel;
|
||||
_projectListViewModel.PropertyChanged += _projectListViewModel_PropertyChanged;
|
||||
}
|
||||
|
||||
private void _projectListViewModel_PropertyChanged(object? sender, PropertyChangedEventArgs e)
|
||||
{
|
||||
if (e.PropertyName == nameof(_projectListViewModel.CanSelectProject))
|
||||
OnCanExecuteChanged();
|
||||
}
|
||||
|
||||
public override async Task ExecuteAsync(object? parameter)
|
||||
{
|
||||
var s = _projectListViewModel.SelectedProject;
|
||||
_actualProject.SetProject(s);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user