| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- using MvCamCtrl.NET;
- using Prism.Commands;
- using Prism.Mvvm;
- using Prism.Services.Dialogs;
- using System;
- using System.Collections.Generic;
- using System.Collections.ObjectModel;
- using System.Linq;
- using System.Security.Cryptography;
- using System.Windows;
- using TeamAAS_VP.Core;
- using TeamAAS_VP.Core.Cameras;
- using TeamAAS_VP.Enums;
- using TeamAAS_VP.Models;
- using TeamAAS_VP.Resources.Languages;
- namespace TeamAAS_VP.ViewModels.Setting
- {
- public class EditCameraViewModel : BindableBase, IDialogAware
- {
- private CameraInfo _Camera;
- /// <summary>
- /// 相机
- /// </summary>
- public CameraInfo Camera
- {
- get { return _Camera; }
- set { SetProperty(ref _Camera, value); }
- }
- private ObservableCollection<CameraInfo> _CameraList = new ObservableCollection<CameraInfo>();
- public ObservableCollection<CameraInfo> CameraList
- {
- get { return _CameraList; }
- set { SetProperty(ref _CameraList, value); }
- }
- private CameraInfo _SelectCamera;
- /// <summary>
- /// 选中的相机
- /// </summary>
- public CameraInfo SelectCamera
- {
- get { return _SelectCamera; }
- set
- {
- SetProperty(ref _SelectCamera, value);
- try
- {
- if (value!=null && Camera != null)
- {
- Camera.SerialNumber = value.SerialNumber;
- Camera.Model = value.Model;
- Camera.ManufacturerName = value.ManufacturerName;
- Camera.CameraType = value.CameraType;
- Camera.CameraBrand = value.CameraBrand;
- }
-
- }
- catch (Exception)
- {
- }
- }
- }
- private DelegateCommand _ConfirmCommand;
- public DelegateCommand ConfirmCommand =>
- _ConfirmCommand ?? (_ConfirmCommand = new DelegateCommand(ExecuteConfirmCommand));
- void ExecuteConfirmCommand()
- {
- if (string.IsNullOrEmpty(Camera.CameraName))
- {
- return;
- }
- if (!FileHelper.CheckFileName(Camera.CameraName))
- {
- MessageBox.Show(Lang.AddCameraVM_message1, "AAS", MessageBoxButton.OK, MessageBoxImage.Error);
- return;
- }
- IDialogParameters parameters = new DialogParameters();
- parameters.Add("Camera", Camera);
- Tuple<bool, CameraInfo> rest = new Tuple<bool, CameraInfo>(false, Camera);
- RequestClose?.Invoke(new DialogResult(ButtonResult.OK, parameters));
- }
- private DelegateCommand _CancelCommand;
- public DelegateCommand CancelCommand =>
- _CancelCommand ?? (_CancelCommand = new DelegateCommand(ExecuteCancelCommand));
- void ExecuteCancelCommand()
- {
- IDialogParameters parameters = new DialogParameters();
- parameters.Add("Camera", Camera);
- Tuple<bool, CameraInfo> rest = new Tuple<bool, CameraInfo>(false, Camera);
- RequestClose?.Invoke(new DialogResult(ButtonResult.Cancel, parameters));
- }
- public EditCameraViewModel()
- {
- }
- public string Title { get; set; } = "修改相机";
- public event Action<IDialogResult> RequestClose;
- public bool CanCloseDialog()
- {
- return true;
- }
- public void OnDialogClosed()
- {
- }
- public void OnDialogOpened(IDialogParameters parameters)
- {
- var cameraBrand = parameters.GetValue<CameraBrand>("CameraBrand");
- Title = Lang.SettingView_Camera_btnEditCamera;
- Camera = parameters.GetValue<CameraInfo>("Camera");
- //GlobalCameraModuleTool globalCamera = new GlobalCameraModuleTool();
- //CameraInfoList cameraInfoList = globalCamera.ModuParams.GetCameraInfoList();
- CameraList.Clear();
- CameraInfo[] cameras = null;
- if (cameraBrand == CameraBrand.HikRobot_MVS)
- {
- cameras = MvCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.Basler_Pylon)
- {
- cameras = BaslerCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.IRayple)
- {
- cameras = AHuaCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.Cognex)
- {
- cameras = CognexCamera.GetDevices();
- }
- else if (cameraBrand == CameraBrand.Galaxy)
- {
- cameras = GalaxyCamera.GetDevices();
- }
- CameraList.Clear();
- if (cameras != null)
- {
- foreach (var camera in cameras)
- {
- CameraList.Add(camera);
- }
- }
- if (Camera.CameraBrand== cameraBrand)
- {
- SelectCamera = CameraList.FirstOrDefault(c => c.SerialNumber == Camera.SerialNumber);
- }
-
- }
- }
- }
|