using GeekDesk.Constant; using GeekDesk.Util; using System; using System.Collections.ObjectModel; using System.ComponentModel; /// /// 程序数据 /// namespace GeekDesk.ViewModel { [Serializable] public class AppData : INotifyPropertyChanged { private ObservableCollection menuList; //菜单信息及菜单对应icon信息 private AppConfig appConfig = new AppConfig(); //程序设置信息 private ObservableCollection hiToDoList; //历史待办 private ObservableCollection toDoList; //未处理待办 为了提高任务效率 分开处理 public ObservableCollection HiToDoList { get { if (hiToDoList == null) { hiToDoList = new ObservableCollection(); } return hiToDoList; } set { hiToDoList = value; OnPropertyChanged("HiToDoList"); } } public ObservableCollection ToDoList { get { if (toDoList == null) { toDoList = new ObservableCollection(); } return toDoList; } set { toDoList = value; OnPropertyChanged("ToDoList"); } } public ObservableCollection MenuList { get { if (menuList == null) { menuList = new ObservableCollection(); } return menuList; } set { menuList = value; OnPropertyChanged("MenuList"); } } public AppConfig AppConfig { get { return appConfig; } set { appConfig = value; OnPropertyChanged("AppConfig"); } } [field: NonSerializedAttribute()] public event PropertyChangedEventHandler PropertyChanged; private void OnPropertyChanged(string propertyName) { PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName)); CommonCode.SaveAppData(MainWindow.appData, Constants.DATA_FILE_PATH); } } }