AppData.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. using GeekDesk.Util;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Collections.ObjectModel;
  5. using System.ComponentModel;
  6. /// <summary>
  7. /// 程序数据
  8. /// </summary>
  9. namespace GeekDesk.ViewModel
  10. {
  11. [Serializable]
  12. public class AppData : INotifyPropertyChanged
  13. {
  14. private ObservableCollection<MenuInfo> menuList = new ObservableCollection<MenuInfo>();
  15. private AppConfig appConfig = new AppConfig();
  16. public ObservableCollection<MenuInfo> MenuList
  17. {
  18. get
  19. {
  20. return menuList;
  21. }
  22. set
  23. {
  24. menuList = value;
  25. OnPropertyChanged("MenuList");
  26. }
  27. }
  28. public AppConfig AppConfig
  29. {
  30. get
  31. {
  32. return appConfig;
  33. }
  34. set
  35. {
  36. appConfig = value;
  37. OnPropertyChanged("AppConfig");
  38. }
  39. }
  40. [field: NonSerializedAttribute()]
  41. public event PropertyChangedEventHandler PropertyChanged;
  42. private void OnPropertyChanged(string propertyName)
  43. {
  44. PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
  45. CommonCode.SaveAppData(MainWindow.appData);
  46. }
  47. }
  48. }