using CCDCount.MODEL.CameraClass; using CCDCount.MODEL.ConfigModel; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace CCDCountWpf.WpfPage { /// /// SettingPage.xaml 的交互逻辑 /// public partial class SettingPage : Page { public SettingPage() { InitializeComponent(); DataContext = MessageBus.ShowBinding; Cam1Btn_Click(null, null); } private void Page_Loaded(object sender, RoutedEventArgs e) { CamNumCoBox.Items.Add("单相机"); CamNumCoBox.Items.Add("双相机"); CamNumCoBox.Items.Add("三相机"); CamNumCoBox.Items.Add("四相机"); CamNumCoBox.SelectedIndex = 0; if (MessageBus.NowSettingLoadMainThread != null) { CamSelectConBox.SelectedValue = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum; if(MessageBus.NowSettingLoadMainThread.shuLiConfig.PandingCode == -1) { CheckModel1RadBtn.IsChecked = true; } else if(MessageBus.NowSettingLoadMainThread.shuLiConfig.PandingCode == 0) { CheckModel2RadBtn.IsChecked = true; } else if (MessageBus.NowSettingLoadMainThread.shuLiConfig.PandingCode == 1) { CheckModel3RadBtn.IsChecked = true; } else if (MessageBus.NowSettingLoadMainThread.shuLiConfig.PandingCode == 2) { CheckModel4RadBtn.IsChecked = true; } } else { CamSelectConBox.SelectedValue = ""; } } private void CamNumCoBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if(CamNumCoBox.SelectedItem.ToString() == "单相机") { Cam1Btn.Visibility = Visibility.Visible; Cam2Btn.Visibility = Visibility.Collapsed; Cam3Btn.Visibility = Visibility.Collapsed; Cam4Btn.Visibility = Visibility.Collapsed; if(!(MessageBus.SeetingNowLoadInMaThreadsIndex>0&&MessageBus.SeetingNowLoadInMaThreadsIndex < 1)) { Cam1Btn_Click(null, null); } } else if(CamNumCoBox.SelectedItem.ToString() == "双相机") { Cam1Btn.Visibility = Visibility.Visible; Cam2Btn.Visibility = Visibility.Visible; Cam3Btn.Visibility = Visibility.Collapsed; Cam4Btn.Visibility = Visibility.Collapsed; if (!(MessageBus.SeetingNowLoadInMaThreadsIndex > 0 && MessageBus.SeetingNowLoadInMaThreadsIndex < 2)) { Cam1Btn_Click(null, null); } } else if(CamNumCoBox.SelectedItem.ToString() == "三相机") { Cam1Btn.Visibility = Visibility.Visible; Cam2Btn.Visibility = Visibility.Visible; Cam3Btn.Visibility = Visibility.Visible; Cam4Btn.Visibility = Visibility.Collapsed; if (!(MessageBus.SeetingNowLoadInMaThreadsIndex > 0 && MessageBus.SeetingNowLoadInMaThreadsIndex < 3)) { Cam1Btn_Click(null, null); } } else if(CamNumCoBox.SelectedItem.ToString() == "四相机") { Cam1Btn.Visibility = Visibility.Visible; Cam2Btn.Visibility = Visibility.Visible; Cam3Btn.Visibility = Visibility.Visible; Cam4Btn.Visibility = Visibility.Visible; } } private void Cam1Btn_Click(object sender, RoutedEventArgs e) { if (MessageBus.MainThreadS == null|| MessageBus.MainThreadS.Count<1|| MessageBus.MainThreadS[0] == null) return; MessageBus.SeetingNowLoadInMaThreadsIndex = 0; MessageBus.NowSettingLoadMainThread = MessageBus.MainThreadS[0]; } private void Cam2Btn_Click(object sender, RoutedEventArgs e) { //MessageBus.ShowBondage.ExposureTimeValue = "300"; MessageBox.Show($"NowThread.ETime:{MessageBus.NowSettingLoadMainThread.cameraConfig.ExposureTimeValue},Thread[0].ETime:{MessageBus.MainThreadS[0].cameraConfig.ExposureTimeValue}"); } private void CameraSettingBtn_Click(object sender, RoutedEventArgs e) { CameraSettingGrid.Visibility = Visibility.Visible; ShuLiSettingGrid.Visibility = Visibility.Collapsed; } private void ShuLiSettingBtn_Click(object sender, RoutedEventArgs e) { CameraSettingGrid.Visibility = Visibility.Collapsed; ShuLiSettingGrid.Visibility = Visibility.Visible; } private void CamListFlushBtn_Click(object sender, RoutedEventArgs e) { List CameraInfoList = new List(); MessageBus.CameraClass.GetCameraList(out CameraInfoList); if (CameraInfoList.Count > 0) { MessageBus.ShowBinding.CameraItems.Clear(); MessageBus.ShowBinding.CameraItems.Add(new CameraCoboxItem() { Name = "请选择相机", SNValue = "" }); foreach (var item in CameraInfoList) { MessageBus.ShowBinding.CameraItems.Add(new CameraCoboxItem() { Name = item.DeviceName + "_" + item.DeviceSN, SNValue = item.DeviceSN }); } CamSelectConBox.SelectedValue = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum; } } private void CamSelectConBox_SelectionChanged(object sender, SelectionChangedEventArgs e) { if(MessageBus.ShowBinding.CameraItems.Count == 0) return; string ThisItemSN = MessageBus.ShowBinding.CameraSNNum; if (MessageBus.NowSettingLoadMainThread == null || ThisItemSN == MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum) return; if (ThisItemSN != string.Empty && ThisItemSN != null) { if (MessageBus.NowSettingLoadMainThread.CameraRunStatic) { var confirmResult = MessageBox.Show("检测到正在识别,切换相机需要关闭识别,是否继续切换", "切换确认", MessageBoxButton.YesNo); if (confirmResult == MessageBoxResult.No) { CamSelectConBox.SelectedValue = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum; return; } MessageBus.NowSettingLoadMainThread.StopMianThread(); } if (MessageBus.NowSettingLoadMainThread.ReLoadCamera(ThisItemSN)) { MessageBus.NowSettingLoadMainThread.GetCameraConfig(); MessageBus.ShowBinding.ImageWidth = MessageBus.NowSettingLoadMainThread.cameraConfig.Width.ToString(); MessageBus.ShowBinding.ImageHeight = MessageBus.NowSettingLoadMainThread.cameraConfig.Height.ToString(); MessageBus.ShowBinding.CamUserName = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraName; MessageBus.ShowBinding.CamOffsetX = MessageBus.NowSettingLoadMainThread.cameraConfig.OffsetX.ToString(); MessageBus.ShowBinding.ExposureTimeValue = MessageBus.NowSettingLoadMainThread.cameraConfig.ExposureTimeValue.ToString(); MessageBus.ShowBinding.AcquistionLineRate = MessageBus.NowSettingLoadMainThread.cameraConfig.AcquistionLineRateValue.ToString(); MessageBus.ShowBinding.CameraSNNum = ThisItemSN; } else { MessageBox.Show("切换相机失败!"); CamSelectConBox.SelectedItem = MessageBus.NowSettingLoadMainThread.cameraConfig.DeviceName + "_" + MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum; return; } } else { if (MessageBus.NowSettingLoadMainThread.CameraRunStatic) { var confirmResult = MessageBox.Show("检测到正在识别,切换相机需要关闭识别,是否继续切换", "切换确认", MessageBoxButton.YesNo); if (confirmResult == MessageBoxResult.No) { CamSelectConBox.SelectedValue = MessageBus.NowSettingLoadMainThread.cameraConfig.CameraSNNum; return; } MessageBus.NowSettingLoadMainThread.StopMianThread(); } else { MessageBus.NowSettingLoadMainThread.DisposeCamera(); } MessageBus.ShowBinding.ImageWidth = "0"; MessageBus.ShowBinding.ImageHeight = "0"; MessageBus.ShowBinding.CamUserName = string.Empty; MessageBus.ShowBinding.CamOffsetX = "0"; MessageBus.ShowBinding.ExposureTimeValue = "0"; MessageBus.ShowBinding.AcquistionLineRate = "0"; MessageBus.ShowBinding.CameraSNNum = null; } } private void CheckModel1RadBtn_Checked(object sender, RoutedEventArgs e) { MessageBus.ShowBinding.PandingCode = "-1"; WHParaPanel.Visibility = Visibility.Collapsed; AreaParaPanel.Visibility = Visibility.Collapsed; } private void CheckModel2RadBtn_Checked(object sender, RoutedEventArgs e) { MessageBus.ShowBinding.PandingCode = "0"; WHParaPanel.Visibility = Visibility.Visible; AreaParaPanel.Visibility = Visibility.Collapsed; } private void CheckModel3RadBtn_Checked(object sender, RoutedEventArgs e) { MessageBus.ShowBinding.PandingCode = "1"; WHParaPanel.Visibility = Visibility.Collapsed; AreaParaPanel.Visibility = Visibility.Visible; } private void CheckModel4RadBtn_Checked(object sender, RoutedEventArgs e) { MessageBus.ShowBinding.PandingCode = "2"; WHParaPanel.Visibility = Visibility.Visible; AreaParaPanel.Visibility = Visibility.Visible; } private void SaveAllConfigBtn_Click(object sender, RoutedEventArgs e) { List SaveConfig = new List(); if(MessageBus.MainThreadS.Count <= 0) { return; } foreach (var item in MessageBus.MainThreadS) { SaveConfig.Add(new SaveConfigModel() { CameraConfig = item.cameraConfig, ShuLiConfigClass = item.shuLiConfig }); } if (!Directory.Exists(".\\Config\\")) Directory.CreateDirectory(".\\Config\\"); { XmlStorage.SerializeToXml(SaveConfig, ".\\Config\\CCDCountConfig.xml"); } } } }