ProductsViewModel.cs 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. using Prism.Commands;
  2. using Prism.Events;
  3. using Prism.Ioc;
  4. using Prism.Mvvm;
  5. using Prism.Regions;
  6. using Prism.Services.Dialogs;
  7. using System;
  8. using System.Collections.Generic;
  9. using System.Collections.ObjectModel;
  10. using System.Linq;
  11. using TeamAAS_VP.Events;
  12. using TeamAAS_VP.Core;
  13. using TeamAAS_VP.Models;
  14. namespace TeamAAS_VP.ViewModels
  15. {
  16. public class ProductsViewModel : BindableBase
  17. {
  18. IRegionManager _regionManager;
  19. IEventAggregator _eventAggregator;
  20. IContainerProvider _container;
  21. IDialogService _dialogService;
  22. #region 属性
  23. private ObservableCollection<ProductModel> _Products;
  24. /// <summary>
  25. /// 产品列表
  26. /// </summary>
  27. public ObservableCollection<ProductModel> Products
  28. {
  29. get { return _Products; }
  30. set { SetProperty(ref _Products,value); }
  31. }
  32. private ProductModel _SelectProduct;
  33. /// <summary>
  34. /// 选中的产品
  35. /// </summary>
  36. public ProductModel SelectProduct
  37. {
  38. get { return _SelectProduct; }
  39. set { SetProperty(ref _SelectProduct, value); }
  40. }
  41. private Management _management;
  42. public Management management
  43. {
  44. get { return _management; }
  45. set { SetProperty(ref _management, value); }
  46. }
  47. #endregion
  48. #region 命令
  49. private DelegateCommand _LoadedCommand;
  50. public DelegateCommand LoadedCommand =>
  51. _LoadedCommand ?? (_LoadedCommand = new DelegateCommand(ExecuteLoadedCommand));
  52. #endregion
  53. #region 事件
  54. #endregion
  55. public ProductsViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService)
  56. {
  57. _regionManager = regionManager;
  58. _eventAggregator = ea;
  59. _container = container;
  60. _dialogService = dialogService;
  61. management= _container.Resolve<Management>();
  62. Products = management.Products;
  63. //订阅权限登录事件
  64. _eventAggregator.GetEvent<UserLoginNotification>().Subscribe(LoginChange);
  65. }
  66. #region 方法
  67. bool isFirstShow = false;
  68. void ExecuteLoadedCommand()
  69. {
  70. if (!isFirstShow)
  71. {
  72. _regionManager.RequestNavigate("ProductRegionContext", "ProductHome");
  73. isFirstShow = true;
  74. }
  75. }
  76. #endregion
  77. private void LoginChange(Models.User user)
  78. {
  79. }
  80. }
  81. }