Как я могу добавить входящие строки последовательного порта в текстовое поле? - PullRequest
0 голосов
/ 23 мая 2011

Я новичок в c #, и мой первый проект - это терминальное приложение для последовательного порта. Входящие данные представляют собой символы ascii, и они поставляются со скоростью 115 кбод.

Теперь я хочу привязать каждую входящую строку к текстовому полю wpf. В моем классе последовательного порта я использую события IPropertyChanged и мне удалось связать каждую входящую строку с текстовым полем. Но не приятно видеть только одну строку, содержимое текстового поля должно быть добавлено к каждой входящей строке. Я не хочу собирать строки в моем классе последовательного порта и просто отправлять их все вместе с каждым новым. Я пытался, и результат был очень медленным.

Далее я попытался использовать событие привязки TargetUpdated для использования textbox.AppendText (входящая строка) ...

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

В результате каждая входящая строка отображается дважды в текстовом поле, а строки перед этим очищаются.

Кто-нибудь знает, как добавить текст в текстовое поле с привязкой wpf?

1 Ответ

0 голосов
/ 23 мая 2011

Это не может быть сделано только с привязкой. Вместо этого создайте список, в который вы добавляете все полученные строки. Измените свойство Incoming, чтобы оно возвращало string.Join (Environment.NewLine, listOfReceivedStrings).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...