AppData.cs 1.6 KB

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