public void UpdateAvailablePorts() { AvailablePorts.Clear(); foreach (string portName in SerialPortService.GetAvailableSerialPorts().OrderBy(s => s)) { AvailablePorts.Add(new ComPortInfo() { PortName = portName }); } }
private void RefreshAvailableSerialPort() { try { uxAvaibleSerialPorts.Items.Clear(); var availableSerialPorts = _serialPortService.GetAvailableSerialPorts(); if (availableSerialPorts.Count <= 0) { return; } foreach (var serialport in availableSerialPorts) { uxAvaibleSerialPorts.Items.Add(serialport); } } catch (Exception ex) { uxConsole.Nodes.Add(ex.Message).EnsureVisible(); } }
public MainWindow() { InitializeComponent(); // Initialize COM Port GUI options and add handler for COM Port changes cbPorts.ItemsSource = SerialPortService.GetAvailableSerialPorts(); SerialPortService.PortsChanged += (sender, eventArgs) => { cbPorts.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => { cbPorts.ItemsSource = SerialPortService.GetAvailableSerialPorts(); })); }; _COMPort.DataReceived += COMPortDataReceived; _controller.Connected += (sender, eventArgs) => { btnConnectController.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => { btnConnectController.Content = $"Disconnect"; Controller.Text = $"Controller {_controller.UserIndex}"; Controller.Background = Brushes.GreenYellow; })); }; _controller.ConnectedFailed += (sender, eventArgs) => { MessageBox.Show("Could not connect to controller!"); }; _controller.Disconnected += (sender, eventArgs) => { btnConnectController.Dispatcher.Invoke(DispatcherPriority.Normal, (Action)(() => { btnConnectController.Content = "Connect"; Controller.Text = "Not Connected"; Controller.Background = Brushes.Red; })); MessageBox.Show("The controller has been disconnected!"); }; // Add handler to call closed function upon program exit Closed += new EventHandler(OnMainWindowClosed); }