如何将串行端口的传入字符串附加到文本框中

本文关键字:文本 字符串 串行端口 | 更新日期: 2023-09-27 17:57:32

我是一个c#sharp初学者,我的第一个项目是串行端口的终端应用程序。传入的数据是ascii字符,它们带有115 kbaud。

现在,我想将每一个传入行绑定到一个wpf文本框。在我的串行端口类中,我使用IPropertyChanged事件,并成功地将每个传入行绑定到文本框。但仅仅看到一行是不令人满意的,文本框的内容应该附加在每一行中。我不想在我的串行端口类中收集字符串,只想在每个新的字符串中再次发送它们。我试过了,结果很慢。

接下来,我尝试使用绑定事件TargetUpdated来使用文本框。附录文本(输入行)。。。

<TextBox 
Name="textBoxIncoming" 
Text="{Binding Path=Incoming, Mode=OneWay, NotifyOnTargetUpdated=True}" 
DataContext="{Binding NotifyOnTargetUpdated=True}"
IsReadOnly="True"
TargetUpdated="textBoxIncoming_TargetUpdated" 
... />`

结果是,每个传入的行在文本框中显示两次,之前的行被清除。

有人知道如何用wpf绑定将文本附加到文本框中吗?

如何将串行端口的传入字符串附加到文本框中

这不能单独使用绑定来完成。相反,创建一个列表,在其中添加所有收到的行。修改Incoming属性以返回字符串。加入(Environment.NewLine,listOfReceivedStrings)。