private void InitAddSerialPortCommand() { AddSerialPortCommand = new RelayCommand(() => { var serialPortSettingsInfo = new SerialPortSettingsInfo(GetAllUsedSerialPortInfo()); var projectorSettingsInfo = new ProjectorSettingsInfo(); var navFrameInfos = new List <NavFrameInfo> { new NavFrameInfo(serialPortSettingsInfo), new NavFrameInfo(projectorSettingsInfo) }; var nav = new NavFrameWindow(navFrameInfos, "添加串口信息"); if (nav.ShowDialog() == true) { var projectorSerialPortInfo = ProjectorSerialPortInfos.FirstOrDefault(s => s.PortName == serialPortSettingsInfo.Current.Item1.PortName); var existsPortName = projectorSerialPortInfo != null; if (!existsPortName) { AddNewSerialPortInfoWithSave(serialPortSettingsInfo, projectorSettingsInfo); } else { projectorSerialPortInfo.AddProjectorDeviceInfoWithSave(projectorSettingsInfo.Current); } } }); }
private void AddNewSerialPortInfoWithSave(SerialPortSettingsInfo serialPortSettingsInfo, ProjectorSettingsInfo projectorSettingsInfo) { var projectorSerialPortInfo = new ProjectorSerialPortInfo(serialPortSettingsInfo.Current.Item1); ProjectorSerialPortInfos.Add(projectorSerialPortInfo); var deviceSettings = ProjectorDeviceSettings.GetProjectorDeviceSettings(); deviceSettings.SerialPortSettings.Add(new ProjectorSerialPortSettings(serialPortSettingsInfo.Current.Item1)); if (ProjectorDeviceService.SaveSettings()) { projectorSerialPortInfo.AddProjectorDeviceInfoWithSave(projectorSettingsInfo.Current); } }