RoleViewModel.cs 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. using Prism.Commands;
  2. using Prism.Mvvm;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Collections.ObjectModel;
  6. using System.ComponentModel;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. using System.Windows.Controls;
  11. using System.Windows.Data;
  12. using Venus_Core;
  13. using Venus_Unity;
  14. using Menu = Venus_MainPages.Role.Menu;
  15. namespace Venus_MainPages.ViewModels
  16. {
  17. internal class RoleViewModel : BindableBase
  18. {
  19. #region 私有属性
  20. List<VenusMenu> m_venusMenus = new List<VenusMenu>();
  21. ObservableCollection<Menu> m_Menus=new ObservableCollection<Menu>();
  22. ICollectionView vm;
  23. #endregion
  24. #region 依赖项属性
  25. public List<VenusMenu> VenusMenus
  26. {
  27. get { return m_venusMenus; }
  28. set
  29. {
  30. SetProperty(ref m_venusMenus, value);
  31. }
  32. }
  33. public ObservableCollection<Menu> Menus
  34. {
  35. get { return m_Menus; }
  36. set
  37. {
  38. SetProperty(ref m_Menus, value);
  39. }
  40. }
  41. #endregion
  42. private DelegateCommand _SaveCommand;
  43. public DelegateCommand SaveCommand =>
  44. _SaveCommand ?? (_SaveCommand = new DelegateCommand(OnSave));
  45. private DelegateCommand<object> _CheckedCommand;
  46. public DelegateCommand<object> CheckedCommand =>
  47. _CheckedCommand ?? (_CheckedCommand= new DelegateCommand<object>(OnChecked));
  48. public RoleViewModel()
  49. {
  50. VenusMenus = SerializeHelper.Instance.ReadFromJsonFile<List<VenusMenu>>("Config/UIMenu.json");
  51. Menus.Add(new Menu(1, "Operation", "OverView"));
  52. Menus.Add(new Menu(1, "Operation", "Sequence"));
  53. Menus.Add(new Menu(1, "Operation", "FA"));
  54. Menus.Add(new Menu(1, "PMA", "Operation"));
  55. Menus.Add(new Menu(1, "PMA", "IO"));
  56. Menus.Add(new Menu(1, "PMA", "Recipe"));
  57. Menus.Add(new Menu(1, "PMA", "Gas&Leak Check"));
  58. Menus.Add(new Menu(1, "PMA", "MFCVerification"));
  59. Menus.Add(new Menu(1, "PMA", "PartialPressure"));
  60. Menus.Add(new Menu(1, "PMA", "VATPerformance"));
  61. Menus.Add(new Menu(1, "PMB", "Operation"));
  62. Menus.Add(new Menu(1, "PMB", "IO"));
  63. Menus.Add(new Menu(1, "PMB", "Recipe"));
  64. Menus.Add(new Menu(1, "PMB", "Gas&Leak Check"));
  65. Menus.Add(new Menu(1, "PMB", "MFCVerification"));
  66. Menus.Add(new Menu(1, "PMB", "PartialPressure"));
  67. Menus.Add(new Menu(1, "PMB", "VATPerformance"));
  68. Menus.Add(new Menu(1, "PMC", "Operation"));
  69. Menus.Add(new Menu(1, "PMC", "IO"));
  70. Menus.Add(new Menu(1, "PMC", "Recipe"));
  71. Menus.Add(new Menu(1, "PMC", "Gas&Leak Check"));
  72. Menus.Add(new Menu(1, "PMC", "MFCVerification"));
  73. Menus.Add(new Menu(1, "PMC", "PartialPressure"));
  74. Menus.Add(new Menu(1, "PMC", "VATPerformance"));
  75. Menus.Add(new Menu(1, "PMD", "Operation"));
  76. Menus.Add(new Menu(1, "PMD", "IO"));
  77. Menus.Add(new Menu(1, "PMD", "Recipe"));
  78. Menus.Add(new Menu(1, "PMD", "Gas&Leak Check"));
  79. Menus.Add(new Menu(1, "PMD", "MFCVerification"));
  80. Menus.Add(new Menu(1, "PMD", "PartialPressure"));
  81. Menus.Add(new Menu(1, "PMD", "VATPerformance"));
  82. vm = CollectionViewSource.GetDefaultView(Menus);
  83. vm.GroupDescriptions.Add(new PropertyGroupDescription("FirstMenu"));
  84. }
  85. private void OnSave()
  86. {
  87. SerializeHelper.Instance.WriteToJsonFile<List<VenusMenu>>(VenusMenus, "Config/UIMenu.json");
  88. }
  89. private void OnChecked(object obj)
  90. {
  91. }
  92. }
  93. }