ImagePreviewWindowViewModel.cs 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. using Cognex.VisionPro;
  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.Linq;
  10. using System.Text;
  11. using System.Threading.Tasks;
  12. using TeamAAS_VP.Core;
  13. namespace TeamAAS_VP.ViewModels.Home
  14. {
  15. public class ImagePreviewWindowViewModel : BindableBase, IDialogAware
  16. {
  17. #region 字段
  18. IRegionManager _regionManager;
  19. public IEventAggregator _eventAggregator;
  20. IContainerProvider _container;
  21. IDialogService _dialogService;
  22. #endregion
  23. #region 属性
  24. private Management _management;
  25. public Management management
  26. {
  27. get { return _management; }
  28. set { SetProperty(ref _management, value); }
  29. }
  30. #endregion
  31. #region 命令
  32. public Prism.Commands.DelegateCommand LoadedCommand { get; set; }
  33. #endregion
  34. public ImagePreviewWindowViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService)
  35. {
  36. _regionManager = regionManager;
  37. _eventAggregator = ea;
  38. _container = container;
  39. _dialogService = dialogService;
  40. management = _container.Resolve<Management>();
  41. LoadedCommand = new Prism.Commands.DelegateCommand(OnLoad);
  42. }
  43. private CogRecordDisplay _CogDisp;
  44. public CogRecordDisplay CogDisp
  45. {
  46. get { return _CogDisp; }
  47. set { SetProperty(ref _CogDisp, value); }
  48. }
  49. private Cognex.VisionPro.ICogImage _Image;
  50. public Cognex.VisionPro.ICogImage Image
  51. {
  52. get { return _Image; }
  53. set { SetProperty(ref _Image, value); }
  54. }
  55. private Cognex.VisionPro.CogGraphicCollection _Graphic;
  56. public Cognex.VisionPro.CogGraphicCollection Graphic
  57. {
  58. get { return _Graphic; }
  59. set { SetProperty(ref _Graphic, value); }
  60. }
  61. private Cognex.VisionPro.ICogRecord _Record;
  62. public Cognex.VisionPro.ICogRecord Record
  63. {
  64. get { return _Record; }
  65. set { SetProperty(ref _Record, value); }
  66. }
  67. public string Title { get; set; }
  68. public event Action<IDialogResult> RequestClose;
  69. private void OnLoad()
  70. {
  71. Image = CogDisp.Image;
  72. Record = CogDisp.Record;
  73. }
  74. public bool CanCloseDialog()
  75. {
  76. return true;
  77. }
  78. public void OnDialogClosed()
  79. {
  80. }
  81. public void OnDialogOpened(IDialogParameters parameters)
  82. {
  83. CogDisp = parameters.GetValue<CogRecordDisplay>("Cog");
  84. }
  85. }
  86. }