private void InitLoadedCommand() { LoadedCommand = new RelayCommand(() => { if (_isLoaded) { return; } _isLoaded = true; var deviceSettings = PLCDeviceSettings.GetPLCDeviceSettings(); foreach (var projectorSerialPortSettings in deviceSettings.SerialPortSettings) { var projectorSerialPortInfo = new PLCSerialPortInfo(projectorSerialPortSettings.GetSerialPortInfo()); foreach (var projectorDetailDeviceSettingse in projectorSerialPortSettings.PLCDetailDevicesSettings) { projectorSerialPortInfo.PLCInfos.Add(new PLCDeviceInfo(projectorDetailDeviceSettingse.GetPLCInfo(), projectorSerialPortSettings.PortName)); } PLCSerialPortInfos.Add(projectorSerialPortInfo); } }); }
private void InitRemoveSerialPortCommand() { RemoveSerialPortCommand = new RelayCommand(() => { var dialog = new RemoveItemsView("删除通信串口", PLCSerialPortInfos.Select(s => s.PortName).ToList()); if (dialog.ShowDialog() == true) { var removePortNames = dialog.SelectedItems; foreach (var portName in removePortNames) { var serialPortInfo = PLCSerialPortInfos.FirstOrDefault(s => s.PortName == portName); if (serialPortInfo != null) { serialPortInfo.Cleanup(); PLCSerialPortInfos.Remove(serialPortInfo); } } PLCDeviceService.SaveSettings(); } }); }