簡體   English   中英

我怎樣才能將串口的傳入字符串 append 輸入到文本框中?

[英]How can I append the incoming strings of a serial port to a text box?

我是 c# 敏銳的初學者,我的第一個項目是串行端口的終端應用程序。 傳入的數據是 ascii 字符,它們帶有 115 kbaud。

現在我想將每條傳入線路綁定到 wpf 文本框。 在我的串行端口 class 中,我使用 IPropertyChanged 事件,並且成功地將每個傳入行綁定到文本框。 但是僅僅看到一行並不令人滿意,文本框的內容應該附加到每一行。 我不想在我的串行端口 class 中收集字符串,然后將它們與每個新字符串一起再次發送。 我試過了,結果很慢。

接下來我嘗試使用綁定事件 TargetUpdated 來使用 textbox.AppendText(incomingline)...

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

結果是每個傳入的行在文本框中顯示兩次,之前的行被清除。

有誰知道,如何將 append 文本發送到具有 wpf 綁定的文本框?

這不能僅通過綁定來完成。 相反,創建一個列表,您可以在其中添加您收到的所有行。 修改 Incoming 屬性以返回 string.Join(Environment.NewLine, listOfReceivedStrings)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM