| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798 |
- 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
- }
- }
|