【问题标题】:ObservableCollection.Clear() throws exception "index out of range"ObservableCollection.Clear() 抛出异常“索引超出范围”
【发布时间】:2019-03-15 15:14:42
【问题描述】:

我尝试使用简单的Collection.Clear() 清除现有的 ObservableCollection。

它抛出:

System.ArgumentOutOfRangeException:
找不到与此错误代码相关的文本。
指数超出范围。必须为非负数且小于集合的大小。

此集合与 Flyout 中的 ComboxBox 相关联,我只是在尝试清除之前隐藏。我还应该做什么?

【问题讨论】:

  • 听起来你正在同时使用来自多个线程的 ObservableCollection,也许吧? ObservableCollection 不是线程安全的。
  • 请显示引发异常的代码

标签: c# windows uwp observablecollection


【解决方案1】:

正如 canton7 建议的那样,我的收藏仍在 Flyout 中使用(实际上隐藏 Flyout 不足以关闭/释放)。解决方法是简单地将集合分配/取消分配给 ComboBox。

【讨论】:

    猜你喜欢
    • 2012-09-20
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多