| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- using Cognex.VisionPro;
- 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.Collections.ObjectModel;
- using System.Linq;
- using TeamAAS_VP.Core;
- using TeamAAS_VP.Events;
- using TeamAAS_VP.Models;
- using TeamAAS_VP.Resources.Languages;
- namespace TeamAAS_VP.ViewModels.Home
- {
- public class ShowVisionRenderViewModel : BindableBase
- {
- #region 字段
- IRegionManager _regionManager;
- public IEventAggregator _eventAggregator;
- IContainerProvider _container;
- IDialogService _dialogService;
- #endregion
- #region 属性
- private ObservableCollection<ShowRender> _Renders;
- /// <summary>
- /// 显示界面
- /// </summary>
- public ObservableCollection<ShowRender> Renders
- {
- get { return _Renders; }
- set { SetProperty(ref _Renders,value); UpDateRenderLayout(); }
- }
- private Management _management;
- public Management management
- {
- get { return _management; }
- set { SetProperty(ref _management, value); }
- }
- #endregion
- #region 命令
- public DelegateCommand LoadedCommand { get; set; }
- #endregion
- #region 事件
- public event Action<ObservableCollection<ShowRender>> UpdateLayout;
- #endregion
- public ShowVisionRenderViewModel(IRegionManager regionManager, IEventAggregator ea, IContainerProvider container, IDialogService dialogService)
- {
- _regionManager = regionManager;
- _eventAggregator = ea;
- _container = container;
- _dialogService = dialogService;
- management = _container.Resolve<Management>();
- Renders= management.Renders;
- LoadedCommand = new DelegateCommand(OnLoad);
- }
- #region 方法
- public void UpDateRenderLayout()
- {
- if (_Renders == null) { return; }
- UpdateLayout?.Invoke(_Renders);
- }
- public void ShowImage(CogRecordDisplay cogDisp)
- {
- IDialogParameters parameters = new DialogParameters();
- parameters.Add("Cog", cogDisp);
- _dialogService.ShowDialog("ImagePreviewWindow", parameters, rst =>
- {
- //对话框关闭之后的回调函数,可以在这解析结果。
- //ButtonResult result1 = rst.Result;
- //if (result1 == ButtonResult.OK)
- //{
- _eventAggregator.GetEvent<SnackbarMessageNotification>().Publish(new MessageParameter() { Msg = Lang.完成, Duration = 1 });
- //}
- });
- }
- private void OnLoad()
- {
- //UpDateRenderLayout();
- }
- #endregion
- }
- }
|