This commit is contained in:
2024-05-20 22:25:19 -04:00
parent ce92bfd7f2
commit 45926fbfca
26 changed files with 242 additions and 31 deletions

View File

@@ -0,0 +1,9 @@
using System;
namespace ToDoList.ViewModels
{
public class AddItemViewModel : ViewModelBase
{
public string Description { get; set; } = String.Empty;
}
}

View File

@@ -0,0 +1,32 @@
using ReactiveUI;
using ToDoList.Services;
namespace ToDoList.ViewModels
{
public class MainWindowViewModel : ViewModelBase
{
private ViewModelBase _contentViewModel;
//this has a dependency on the ToDoListService
public MainWindowViewModel()
{
var service = new ToDoListService();
ToDoList = new ToDoListViewModel(service.GetItems());
_contentViewModel = ToDoList;
}
public ToDoListViewModel ToDoList { get; }
public ViewModelBase ContentViewModel
{
get => _contentViewModel;
private set => this.RaiseAndSetIfChanged(ref _contentViewModel, value);
}
public void AddItem()
{
ContentViewModel = new AddItemViewModel();
}
}
}

View File

@@ -0,0 +1,16 @@
using System.Collections.Generic;
using System.Collections.ObjectModel;
using ToDoList.DataModel;
namespace ToDoList.ViewModels
{
public class ToDoListViewModel : ViewModelBase
{
public ToDoListViewModel(IEnumerable<ToDoItem> items)
{
ListItems = new ObservableCollection<ToDoItem>(items);
}
public ObservableCollection<ToDoItem> ListItems { get; }
}
}

View File

@@ -0,0 +1,7 @@
using ReactiveUI;
namespace ToDoList.ViewModels;
public class ViewModelBase : ReactiveObject
{
}