ShowVisionRenderViewModel.cs 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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.Core;
  12. using TeamAAS_VP.Models;
  13. namespace TeamAAS_VP.ViewModels.Home
  14. {
  15. public class ShowVisionRenderViewModel : BindableBase
  16. {
  17. #region 字段
  18. IRegionManager _regionManager;
  19. public IEventAggregator _eventAggregator;
  20. IContainerProvider _container;
  21. IDialogService _dialogService;
  22. #endregion
  23. #region 属性
  24. private ObservableCollection<ShowRender> _Renders;
  25. /// <summary>
  26. /// 显示界面
  27. /// </summary>
  28. public ObservableCollection<ShowRender> Renders
  29. {
  30. get { return _Renders; }
  31. set { SetProperty(ref _Renders,value); UpDateRenderLayout(); }
  32. }
  33. private Management _management;
  34. public Management management
  35. {
  36. get { return _management; }
  37. set { SetProperty(ref _management, value); }
  38. }
  39. #endregion
  40. #region 命令
  41. public DelegateCommand LoadedCommand { get; set; }
  42. #endregion
  43. #region 事件
  44. public event Action<ObservableCollection<ShowRender>> UpdateLayout;
  45. #endregion
  46. public ShowVisionRenderViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService)
  47. {
  48. _regionManager = regionManager;
  49. _eventAggregator = ea;
  50. _container = container;
  51. _dialogService = dialogService;
  52. management = _container.Resolve<Management>();
  53. Renders= management.Renders;
  54. LoadedCommand = new DelegateCommand(OnLoad);
  55. }
  56. #region 方法
  57. public void UpDateRenderLayout()
  58. {
  59. if (_Renders == null) { return; }
  60. UpdateLayout?.Invoke(_Renders);
  61. }
  62. private void OnLoad()
  63. {
  64. //UpDateRenderLayout();
  65. }
  66. #endregion
  67. }
  68. }