using Aurora.Api; using System; using System.ComponentModel; using System.Windows; using VisionCommon; namespace MilUI { /// /// Interaction logic for VisionImageTestWindow.xaml /// public partial class VisionImageTestWindow : Window { public string WINDOW_TITLE => "Vision Image Test Window"; private FovInfo _FovInfo; private eVisionTestType _VisionTestType; private PatternInfo _PatternInfo; private VisionImageTestView visionImageTestSettingView; private object _ViewModel; public VisionImageTestWindow(FovInfo fovInfo, eVisionTestType visionTestType, PatternInfo patternInfo = null, Object patternListViewModel = null) { _FovInfo = fovInfo; _VisionTestType = visionTestType; if(patternInfo != null) { _PatternInfo = patternInfo; } if(patternListViewModel != null) { _ViewModel = patternListViewModel; } InitializeComponent(); SetTitle(); CreateView(); } public void SetTitle() { Title = WINDOW_TITLE; } private void CreateView() { if(_VisionTestType == eVisionTestType.Pattern) { visionImageTestSettingView = new VisionImageTestView(_FovInfo, _VisionTestType, _PatternInfo); visionImageTestSettingView.DataContext = new VisionImageTestViewModel(_FovInfo, _VisionTestType, _PatternInfo); gridVisionImageTestView.Children.Add(visionImageTestSettingView); } else { visionImageTestSettingView = new VisionImageTestView(_FovInfo, _VisionTestType); visionImageTestSettingView.DataContext = new VisionImageTestViewModel(_FovInfo, _VisionTestType); gridVisionImageTestView.Children.Add(visionImageTestSettingView); } } public void ResetPosition() { Left = WindowUtil.GetLeftWithRatioOnMainWindow(0); Top = WindowUtil.GetTopWithRatioOnMainWindow(0); } protected override void OnClosing(CancelEventArgs e) { visionImageTestSettingView.Dispose(); if(_VisionTestType == eVisionTestType.Pattern) { var param = new Tuple(_ViewModel, _PatternInfo.GetPatternId()); VisionEnv.AuroraEnv.EventPublisher.Publish( new EventMessage(string.Empty, VisionEventId.CLOSE_VISION_IMAGE_TEST, param)); } } } }