using Cognex.VisionPro; using Cognex.VisionPro.MultiLineFinder.Implementation.Internal; using Prism.Commands; using Prism.Events; using Prism.Ioc; using Prism.Mvvm; using Prism.Regions; using Prism.Services.Dialogs; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using TeamAAS_VP.Core; using TeamAAS_VP.Models; using TeamAAS_VP.Models.Calibration; using TeamAAS_VP.Resources.Languages; using TeamAAS_VP.ViewModels.Calibration; namespace TeamAAS_VP.ViewModels.Home { public class ImagePreviewWindowViewModel : BindableBase, IDialogAware { #region 字段 IRegionManager _regionManager; public IEventAggregator _eventAggregator; IContainerProvider _container; IDialogService _dialogService; #endregion #region 属性 private Management _management; public Management management { get { return _management; } set { SetProperty(ref _management, value); } } #endregion #region 命令 public Prism.Commands.DelegateCommand LoadedCommand { get; set; } #endregion public ImagePreviewWindowViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService) { _regionManager = regionManager; _eventAggregator = ea; _container = container; _dialogService = dialogService; management = _container.Resolve(); LoadedCommand = new Prism.Commands.DelegateCommand(OnLoad); } private CogRecordDisplay _CogDisp; public CogRecordDisplay CogDisp { get { return _CogDisp; } set { SetProperty(ref _CogDisp, value); } } private Cognex.VisionPro.ICogImage _Image; public Cognex.VisionPro.ICogImage Image { get { return _Image; } set { SetProperty(ref _Image, value); } } private Cognex.VisionPro.CogGraphicCollection _Graphic; public Cognex.VisionPro.CogGraphicCollection Graphic { get { return _Graphic; } set { SetProperty(ref _Graphic, value); } } private Cognex.VisionPro.ICogRecord _Record; public Cognex.VisionPro.ICogRecord Record { get { return _Record; } set { SetProperty(ref _Record, value); } } public string Title { get; set; } public event Action RequestClose; private void OnLoad() { Image = CogDisp.Image; Record = CogDisp.Record; } public bool CanCloseDialog() { return true; } public void OnDialogClosed() { } public void OnDialogOpened(IDialogParameters parameters) { CogDisp = parameters.GetValue("Cog"); } } }