У меня есть код ниже в приложении WPF. Он считывает строки из последовательного порта и отображает их в текстовом поле. Я хочу выполнить операцию в соответствии с последовательным вводом.Чтение строки из текстового поля
Это я собираюсь сделать либо путем чтения строковой переменной (RData), либо путем чтения textbox.text.
Я пробовал с операторами if в функциях, но он не работает. Пожалуйста помоги.
public partial class MainWindow : Window
{
SerialPort serial = new SerialPort();
string RData;
public MainWindow()
{
InitializeComponent();
getPorts();
}
void getPorts()
{
String[] ports = SerialPort.GetPortNames();
comboBoxPorts.ItemsSource = ports;
}
private void buttonConnect_Click(object sender, RoutedEventArgs e)
{
serial.PortName = comboBoxPorts.Text;
serial.BaudRate = 9600;
serial.DataBits = 8;
serial.Handshake = System.IO.Ports.Handshake.None;
serial.StopBits = StopBits.One;
serial.ReadTimeout = -1;
serial.WriteTimeout = -1;
serial.Open();
if (serial.IsOpen)
{
buttonConnect.IsEnabled = false;
labelConState.Content = "Connected";
labelConState.Foreground = System.Windows.Media.Brushes.Green;
serial.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(Recieve);
}
}
private delegate void UpdateUiTextDelegate(string text);
private void Recieve
(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
RData = serial.ReadExisting();
Dispatcher.Invoke(DispatcherPriority.Send, new UpdateUiTextDelegate(WriteData), RData);
}
private void WriteData(string text)
{
textBoxPrompt.Text += text;
}
}
Итак, что конкретно представляет собой вопрос (или проблема)? – Jai
Как я могу получить текст, написанный в textBoxPrompt, для выполнения задачи? –
Вы пытались поместить «точку прерывания» в эту строку 'textBoxPrompt.Text + = text;' и проверить, имеет ли текстовый параметр требуемое значение? Или, может быть, функция вообще не попадает? – user3185569