gpt4 book ai didi

c# - 使用新的 COM 端口数据更新 ListBox

转载 作者:行者123 更新时间:2023-11-30 23:14:46 25 4
gpt4 key购买 nike

我希望我的 ListBox 用新值更新旧值,而不是像现在那样简单地向 ListBox 添加越来越多的行。但是,我不确定在哪里可以实现可以处理此问题的东西。

我当前的代码如下所示:

private void DisplayText(string rawData)
{
textArduinoData.Text = rawData;
string[] sortedData = rawData.Split(';');

for (int i = 0; i < sortedData.Length; i++)
{
listPortData.Items.Add(sortedData[i].ToString());

}
}

有人可以为我指明实现此更新功能的正确方向吗?任何建议将不胜感激。

最佳答案

您需要管理流程。它在概念上很简单,但取决于需要处理的数据量,它可能会很快变慢。步骤

  1. 创建一个专门的 token 类来实现 INotifyPropertyChanged

  2. ObservableCollection 保存 #1 中的类项。当添加或删除项目时,可观察集合会通知 ListBox。这将允许您的代码一次添加一个项目。 (解决了 1 个问题)

  3. 要解决数据更改的下一个问题:在将保存数据的 #1 类中有一个名为 Text 的属性,提供属性更改通知。

  4. 在列表框中绑定(bind)到在步骤 1 中创建的项目列表,并指定绑定(bind)到 Text。为列表框使用数据模板将允许您绑定(bind)到列表实例的 Text 属性。

  5. 提供启发式/智能来读取传入数据并在第 2 步的可观察集合中查找关联数据。找到后,将现有数据的 Text 属性更改为新的和该列表项的绑定(bind)将相应更改。

关于c# - 使用新的 COM 端口数据更新 ListBox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42916503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com