MenuViewModel.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using Prism.Mvvm;
  6. using System.Threading.Tasks;
  7. using Prism.Commands;
  8. using Prism.Events;
  9. using Prism.Ioc;
  10. using Prism.Regions;
  11. using System.Windows.Controls;
  12. using LampInspectionMachine.Core;
  13. using OpenCvSharp.Flann;
  14. using System.Windows.Forms;
  15. namespace LampInspectionMachine.ViewModels
  16. {
  17. public class MenuViewModel:BindableBase, IConfirmNavigationRequest
  18. {
  19. private IContainerProvider _container;
  20. private IEventAggregator _eventAggregator;
  21. private IRegionManager _regionManager;
  22. private Management management;
  23. private DelegateCommand<string> _OpenCameraViewCommand;
  24. public DelegateCommand<string> OpenCameraViewCommand =>
  25. _OpenCameraViewCommand ?? ( _OpenCameraViewCommand = new DelegateCommand<string>(CameraViewShow) );
  26. private DelegateCommand <string> _OpenVisionProViewCommand;
  27. public DelegateCommand<string> OpenVisionProViewCommand =>
  28. _OpenVisionProViewCommand ?? ( _OpenVisionProViewCommand = new DelegateCommand<string>(VisionProViewShow) );
  29. public DelegateCommand LoadedCommand { get; set; }
  30. public Management Management { get => management; set { SetProperty(ref management, value); } }
  31. private bool IsLoad=false;
  32. public MenuViewModel(IContainerProvider container, IRegionManager regionManager, IEventAggregator eventAggregator)
  33. {
  34. _container = container;
  35. _eventAggregator = eventAggregator;
  36. _regionManager = regionManager;
  37. Management=container.Resolve<Management>();
  38. LoadedCommand = new DelegateCommand(OnLoad);
  39. }
  40. private async void OnLoad()
  41. {
  42. NavigationParameters paras = new NavigationParameters();
  43. paras.Add("Index",0); //键值对
  44. _regionManager.Regions[ "MenuRegionContent" ].RequestNavigate("CameraView", paras);
  45. IsLoad = true;
  46. }
  47. void CameraViewShow(string index)
  48. {
  49. NavigationParameters paras = new NavigationParameters();
  50. paras.Add("Index", Convert.ToInt32(index)); //键值对
  51. _regionManager.Regions[ "MenuRegionContent" ].RequestNavigate("CameraView", paras);
  52. }
  53. void VisionProViewShow(string index)
  54. {
  55. NavigationParameters paras = new NavigationParameters();
  56. paras.Add("Index", Convert.ToInt32(index)); //键值对
  57. _regionManager.Regions[ "MenuRegionContent" ].RequestNavigate("VisionProView", paras);
  58. }
  59. public void ConfirmNavigationRequest(NavigationContext navigationContext, Action<bool> continuationCallback)
  60. {
  61. continuationCallback(IsLoad);
  62. }
  63. public void OnNavigatedTo(NavigationContext navigationContext)
  64. {
  65. }
  66. public bool IsNavigationTarget(NavigationContext navigationContext)
  67. {
  68. return true;
  69. }
  70. public void OnNavigatedFrom(NavigationContext navigationContext)
  71. {
  72. }
  73. }
  74. }