[英]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.