【问题标题】:How to clear a listbox of all items programatically in WPF? [duplicate]如何在 WPF 中以编程方式清除所有项目的列表框? [复制]
【发布时间】:2019-08-01 16:13:55
【问题描述】:

我正在尝试在重置和禁用表单字段的函数中清除列表框。

我查过的所有论坛都说要使用:

    listBox.Items.Clear();

但是这会引发一个异常,上面写着:

'在使用 ItemsSource 时操作无效。改为使用 ItemsControl.ItemsSource 访问和修改元素。'

任何想法都将不胜感激!

【问题讨论】:

  • 似乎您已经分配或绑定了 ItemsSource 属性。清除源集合。
  • 这可以通过清除源例如 ObservableCollection src = new ObservableCollection(); src.Clear();

标签: c# wpf visual-studio listbox


【解决方案1】:

您似乎将列表框的 ItemsSource 属性绑定到某个集合。只需清除集合的内容即可。如果是 ObservableCollection,列表框会自动清空,否则执行 INotifyPropertyChanged 模式。

像这样声明你要绑定的列表:

public ObservableCollection<MyType> ListboxItems { get; set; }

然后你可以清除列表

ListBoxItems.Clear();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多