WPF怎么把串口接受的数据放在textbox里
时间: 2023-08-07 13:08:21 浏览: 43
可以使用 SerialPort 类来实现串口通信,然后在接收到数据时将数据显示在 WPF 的 TextBox 控件中。
以下是一个简单的例子:
在 XAML 文件中:
```xml
<TextBox x:Name="txtData" />
```
在代码中:
```csharp
using System.IO.Ports;
private SerialPort _serialPort;
private void InitSerialPort()
{
_serialPort = new SerialPort("COM1", 9600, Parity.None, 8, StopBits.One);
_serialPort.DataReceived += SerialPort_DataReceived;
_serialPort.Open();
}
private void SerialPort_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string data = _serialPort.ReadExisting(); // 读取串口数据
Dispatcher.Invoke(() =>
{
txtData.Text += data; // 将数据显示在 TextBox 中
});
}
```
在代码中,我们首先创建了一个 SerialPort 对象,并且注册了 DataReceived 事件。在 DataReceived 事件中,我们读取了串口接收到的数据,并且使用 Dispatcher.Invoke 方法将数据显示在 TextBox 中。
需要注意的是,在将数据显示在 UI 中时,需要使用 Dispatcher.Invoke 方法,以确保在 UI 线程中更新 UI。