11/14
This commit is contained in:
9
ToDoList/ViewModels/AddItemViewModel.cs
Normal file
9
ToDoList/ViewModels/AddItemViewModel.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using System;
|
||||
|
||||
namespace ToDoList.ViewModels
|
||||
{
|
||||
public class AddItemViewModel : ViewModelBase
|
||||
{
|
||||
public string Description { get; set; } = String.Empty;
|
||||
}
|
||||
}
|
||||
32
ToDoList/ViewModels/MainWindowViewModel.cs
Normal file
32
ToDoList/ViewModels/MainWindowViewModel.cs
Normal 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
16
ToDoList/ViewModels/ToDoListViewModel.cs
Normal file
16
ToDoList/ViewModels/ToDoListViewModel.cs
Normal 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; }
|
||||
}
|
||||
}
|
||||
7
ToDoList/ViewModels/ViewModelBase.cs
Normal file
7
ToDoList/ViewModels/ViewModelBase.cs
Normal file
@@ -0,0 +1,7 @@
|
||||
using ReactiveUI;
|
||||
|
||||
namespace ToDoList.ViewModels;
|
||||
|
||||
public class ViewModelBase : ReactiveObject
|
||||
{
|
||||
}
|
||||
Reference in New Issue
Block a user