using bububu.Models; using System; using System.Collections.Generic; using System.Collections.ObjectModel; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; namespace bububu.ViewModels { public class MainWindowViewModel : INotifyPropertyChanged { //Schedule[] schedules; Schedule selectedTeacher; public ObservableCollection Schedules { get; private set; } public Schedule SelectedTeacher { get { return selectedTeacher; } set { selectedTeacher = value; OnPropertyChanged("SelectedTeacher"); } } public ICommand AddCommand { get; private set; } public ICommand DeleteCommand { get; private set; } public MainWindowViewModel() { Schedules = new ObservableCollection(Schedule.GetSchedules()); AddCommand = new DelegateCommand(AddSchedule); DeleteCommand = new DelegateCommand(DeleteSchedule, CanDeleteSchedule); } private void DeleteSchedule(object obj) { Schedules.Remove((Schedule)obj); } private bool CanDeleteSchedule(object arg) { return (arg as Schedule) != null; } void AddSchedule(object obj) { Schedules.Add(new Schedule { Obj = "Предмет", Teacher = "Преподаватель", Comment = "TRAP LUV" }); } public event PropertyChangedEventHandler PropertyChanged; void OnPropertyChanged(string propertyName) { if (PropertyChanged != null) { PropertyChanged(this, new PropertyChangedEventArgs(propertyName)); } } } }