コード例 #1
0
 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);
         }
     });
 }
コード例 #2
0
 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();
         }
     });
 }