在 XAML 中使用列表框时更新/刷新显示
Posted
技术标签:
【中文标题】在 XAML 中使用列表框时更新/刷新显示【英文标题】:Update/Refresh display when using Listbox in XAML 【发布时间】:2018-09-23 23:22:09 【问题描述】:我是 XAML 和 C# 的新手。我有一个带有列表框的简单显示,该列表框通过 ArrayList 中的元素填充。当我向列表中添加项目时,我希望更新列表框,以便它也显示新值。
我该怎么做呢? 看到有人用过:
listBox.InvalidateArrange();
listBox.UpdateLayout();
但我无法让它为我工作。
任何建议将不胜感激!
【问题讨论】:
不要使用 ArrayList (对于任何事情,但尤其不能用于此),请使用ObservableCollection
。当您将项目添加到 ObservableCollection 时,ListBox 将自动添加它们,而无需您做进一步的工作。如果您想修改集合中项目的属性并更新 UI,则集合中的项目需要实现 INotifyPropertyChanged
。
是的。看看:social.technet.microsoft.com/wiki/contents/articles/…
感谢 @EdPlunkett 和 Andy 的建议。切换到 Observable 集合解决了我的问题。
【参考方案1】:
感谢 Ed Plunkett 和 Andy 在 cmets 中的建议,我能够通过从 ArrayList
切换到 ObservableCollection
来解决我的问题。
因此,每次添加新条目时,ListBox
都会立即更新。
【讨论】:
以上是关于在 XAML 中使用列表框时更新/刷新显示的主要内容,如果未能解决你的问题,请参考以下文章