diff --git a/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs b/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs index fa9d7b2..37e7e75 100644 --- a/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs +++ b/DaSaSo.ViewModel/Commands/EditImpregnationCommand.cs @@ -3,6 +3,7 @@ using DaSaSo.Domain.Services; using DaSaSo.ViewModel.Interface; using System; using System.Collections.Generic; +using System.Diagnostics; using System.Linq; using System.Text; using System.Threading.Tasks; @@ -15,6 +16,10 @@ namespace DaSaSo.ViewModel.Commands private ImpregnierungListViewModel _impregnierungListViewModel; private IRenavigator _editRenavigator; private IActualProject _actualProject; + public override bool CanExecute(object? parameter) + { + return _impregnierungListViewModel.SelectedImpregnation != null; + } public EditImpregnationCommand( IDataService impregnationService, @@ -26,6 +31,13 @@ namespace DaSaSo.ViewModel.Commands _impregnierungListViewModel = impregnierungListViewModel; _actualProject = actualProject; _editRenavigator = editRenavigator; + _impregnierungListViewModel.PropertyChanged += _impregnierungListViewModel_PropertyChanged; + } + + private void _impregnierungListViewModel_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e) + { + if (e.PropertyName == nameof(_impregnierungListViewModel.CanSelectImpregnation)) + OnCanExecuteChanged(); } public override async Task ExecuteAsync(object? parameter) diff --git a/DaSaSo.ViewModel/ImpregnierungListViewModel.cs b/DaSaSo.ViewModel/ImpregnierungListViewModel.cs index c8c3f9c..79cc5af 100644 --- a/DaSaSo.ViewModel/ImpregnierungListViewModel.cs +++ b/DaSaSo.ViewModel/ImpregnierungListViewModel.cs @@ -27,9 +27,11 @@ namespace DaSaSo.ViewModel { _selectedImpregnation = value; OnPropertyChanged(); + OnPropertyChanged(nameof(CanSelectImpregnation)); } } } + public bool CanSelectImpregnation => SelectedImpregnation != null; public ICommand EditImpregnationCommand { get; set; } public ICommand AddImpregnationCommand { get; set; } bool _isLoading;