【问题标题】:Update/Refresh display when using Listbox in XAML在 XAML 中使用列表框时更新/刷新显示
【发布时间】:2018-09-23 23:22:09
【问题描述】:

我是 XAML 和 C# 的新手。我有一个带有列表框的简单显示,该列表框通过 ArrayList 中的元素填充。当我向列表中添加项目时,我希望更新列表框,以便它也显示新值。

我该怎么做呢? 看到有人用过:

 listBox.InvalidateArrange();
 listBox.UpdateLayout();

但我无法让它为我工作。

任何建议将不胜感激!

【问题讨论】:

  • 不要使用 ArrayList (对于任何事情,但尤其不能用于此),请使用 ObservableCollection。当您将项目添加到 ObservableCollection 时,ListBox 将自动添加它们,而无需您做进一步的工作。如果您想修改集合中项目的属性并更新 UI,则集合中的项目需要实现 INotifyPropertyChanged
  • 感谢 @EdPlunkett 和 Andy 的建议。切换到 Observable 集合解决了我的问题。

标签: c# wpf xaml listbox


【解决方案1】:

感谢 Ed Plunkett 和 Andy 在 cmets 中的建议,我能够通过从 ArrayList 切换到 ObservableCollection 来解决我的问题。

因此,每次添加新条目时,ListBox 都会立即更新。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-18
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    相关资源
    最近更新 更多