private void InitLoadedCommand() { LoadedCommand = new RelayCommand(() => { if (_isLoaded) { return; } _isLoaded = true; var deviceSettings = ProjectorDeviceSettings.GetProjectorDeviceSettings(); foreach (var projectorSerialPortSettings in deviceSettings.SerialPortSettings) { var projectorSerialPortInfo = new ProjectorSerialPortInfo(projectorSerialPortSettings.GetSerialPortInfo()); foreach (var projectorDetailDeviceSettingse in projectorSerialPortSettings.ProjectorDetailDevicesSettings) { projectorSerialPortInfo.ProjectorInfos.Add(new ProjectorDeviceInfo(projectorDetailDeviceSettingse.GetProjectorInfo(), projectorSerialPortSettings.PortName)); } ProjectorSerialPortInfos.Add(projectorSerialPortInfo); } }); }
private void InitRemoveSerialPortCommand() { RemoveSerialPortCommand = new RelayCommand(() => { var dialog = new RemoveItemsView("删除通信串口", ProjectorSerialPortInfos.Select(s => s.PortName).ToList()); if (dialog.ShowDialog() == true) { var removePortNames = dialog.SelectedItems; foreach (var portName in removePortNames) { var serialPortInfo = ProjectorSerialPortInfos.FirstOrDefault(s => s.PortName == portName); if (serialPortInfo != null) { serialPortInfo.Cleanup(); ProjectorSerialPortInfos.Remove(serialPortInfo); } } ProjectorDeviceService.SaveSettings(); } }); }