#c# #uwp
Вопрос:
Я хочу разработать последовательный инструмент с использованием UWP,и у меня возникла проблема с блокировкой моей разработки. когда я получаю строку из буфера последовательного, я хочу, чтобы отобразить его, поэтому я хочу показать, что я по-кода,но когда я обновить элемент TextBlock использования PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
,управления TextBlock покажет получите строку,но когда серийный строку получите все больше и больше, то обновите приложение-кода будет очень медленно и воздействия приложение работает, и эта проблема будет все больше и больше серьезности. Я думаю,что это медленно, потому что я обновляю строку текстового блока, ее все больше и больше нужно обновлять, так есть ли способ решить мою проблему?
Я попытался использовать like lt;listgt;lt;textBlockgt;lt;/listgt;
для отображения строки,она может обновляться быстрее , чем lt;textBlockgt;
, но она не может выбирать текст из одного списка текстовых блоков в другой список текстовых блоков, поэтому она не может меня удовлетворить.
ниже приведен мой код:
loadAsyncTask = DataReaderObject.LoadAsync(ReadBufferLength).AsTask(cancellationToken); UInt32 bytesRead = await loadAsyncTask; if (bytesRead gt; 0){ string inputStr = DataReaderObject.ReadString(bytesRead); ReadBytesCounter = bytesRead; this.serialVM.serialInputStr = inputStr; }
и код xaml, такой как lt;TextBlock x:Name="xTB_SerialRec" IsTextSelectionEnabled="True" Text="{x:Bind serialVM.serialInputStr, Mode=TwoWay}" /gt;
Комментарии:
1. Я смоделировал изменение текста с помощью таймера, он может
TextBlock
быстро обновить приведенный выше код, похоже, проблема возникает при последовательном чтении, можете ли вы попробовать распечатать строку в окне вывода, проверить, имеет ли она правильное значение?2. я могу быть уверен, что я правильно считываю данные с последовательного, я отправляю их из своей программы на python для тестирования. но, может быть, я тоже смогу использовать таймер для тестирования своей программы uwp. и есть момент, когда последовательных входных данных становится все больше и больше,давление обновления текстового блока будет увеличиваться, а обновление происходит медленнее, чем запуск
3. Можете ли вы вывести скорость последовательного чтения?