Код IT Загрузка примера кода…

C# main.cs
public class TaskListViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler? PropertyChanged;

    private string _newTitle = "";
    public string NewTitle
    {
        get => _newTitle;
        set
        {
            if (_newTitle == value) return;
            _newTitle = value;
            PropertyChanged?.Invoke(this, new(nameof(NewTitle)));
            AddTaskCommand.RaiseCanExecuteChanged();
        }
    }

    public ObservableCollection<TaskItemViewModel> Tasks { get; } = new();
    public RelayCommand AddTaskCommand { get; }

    public TaskListViewModel(ITaskRepository repository)
    {
        _repository = repository;
        AddTaskCommand = new RelayCommand(ExecuteAdd, CanAdd);
    }
}
public class TaskListViewModel : INotifyPropertyChanged
{
    public event PropertyChangedEventHandler? PropertyChanged;

    private string _newTitle = "";
    public string NewTitle
    {
        get => _newTitle;
        set
        {
            if (_newTitle == value) return;
            _newTitle = value;
            PropertyChanged?.Invoke(this, new(nameof(NewTitle)));
            AddTaskCommand.RaiseCanExecuteChanged();
        }
    }

    public ObservableCollection<TaskItemViewModel> Tasks { get; } = new();
    public RelayCommand AddTaskCommand { get; }

    public TaskListViewModel(ITaskRepository repository)
    {
        _repository = repository;
        AddTaskCommand = new RelayCommand(ExecuteAdd, CanAdd);
    }
}