using Prism.Commands; using Prism.Mvvm; 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.Controls; using System.Windows.Data; using Venus_Core; using Venus_Unity; using Menu = Venus_MainPages.Role.Menu; namespace Venus_MainPages.ViewModels { internal class RoleViewModel : BindableBase { #region 私有属性 List m_venusMenus = new List(); ObservableCollection m_Menus=new ObservableCollection(); ICollectionView vm; #endregion #region 依赖项属性 public List VenusMenus { get { return m_venusMenus; } set { SetProperty(ref m_venusMenus, value); } } public ObservableCollection Menus { get { return m_Menus; } set { SetProperty(ref m_Menus, value); } } #endregion private DelegateCommand _SaveCommand; public DelegateCommand SaveCommand => _SaveCommand ?? (_SaveCommand = new DelegateCommand(OnSave)); private DelegateCommand _CheckedCommand; public DelegateCommand CheckedCommand => _CheckedCommand ?? (_CheckedCommand= new DelegateCommand(OnChecked)); public RoleViewModel() { VenusMenus = SerializeHelper.Instance.ReadFromJsonFile>("Config/UIMenu.json"); Menus.Add(new Menu(1, "Operation", "OverView")); Menus.Add(new Menu(1, "Operation", "Sequence")); Menus.Add(new Menu(1, "Operation", "FA")); Menus.Add(new Menu(1, "PMA", "Operation")); Menus.Add(new Menu(1, "PMA", "IO")); Menus.Add(new Menu(1, "PMA", "Recipe")); Menus.Add(new Menu(1, "PMA", "Gas&Leak Check")); Menus.Add(new Menu(1, "PMA", "MFCVerification")); Menus.Add(new Menu(1, "PMA", "PartialPressure")); Menus.Add(new Menu(1, "PMA", "VATPerformance")); Menus.Add(new Menu(1, "PMB", "Operation")); Menus.Add(new Menu(1, "PMB", "IO")); Menus.Add(new Menu(1, "PMB", "Recipe")); Menus.Add(new Menu(1, "PMB", "Gas&Leak Check")); Menus.Add(new Menu(1, "PMB", "MFCVerification")); Menus.Add(new Menu(1, "PMB", "PartialPressure")); Menus.Add(new Menu(1, "PMB", "VATPerformance")); Menus.Add(new Menu(1, "PMC", "Operation")); Menus.Add(new Menu(1, "PMC", "IO")); Menus.Add(new Menu(1, "PMC", "Recipe")); Menus.Add(new Menu(1, "PMC", "Gas&Leak Check")); Menus.Add(new Menu(1, "PMC", "MFCVerification")); Menus.Add(new Menu(1, "PMC", "PartialPressure")); Menus.Add(new Menu(1, "PMC", "VATPerformance")); Menus.Add(new Menu(1, "PMD", "Operation")); Menus.Add(new Menu(1, "PMD", "IO")); Menus.Add(new Menu(1, "PMD", "Recipe")); Menus.Add(new Menu(1, "PMD", "Gas&Leak Check")); Menus.Add(new Menu(1, "PMD", "MFCVerification")); Menus.Add(new Menu(1, "PMD", "PartialPressure")); Menus.Add(new Menu(1, "PMD", "VATPerformance")); vm = CollectionViewSource.GetDefaultView(Menus); vm.GroupDescriptions.Add(new PropertyGroupDescription("FirstMenu")); } private void OnSave() { SerializeHelper.Instance.WriteToJsonFile>(VenusMenus, "Config/UIMenu.json"); } private void OnChecked(object obj) { } } }