【发布时间】:2012-08-21 00:46:30
【问题描述】:
我有一个树视图,其中 ItemsSource 是 ObservableCollection。每次用户通过使用后台工作者扩展子树并修改与子节点对应的底层 ObservableCollection 时,我都会动态加载子内容。但是,当我尝试在该线程中修改此 ObservableCollection 时,如果且仅当树已经展开时,它将失败(这意味着如果孩子的数量很少,那么它将正确填充)。
我希望实现的是,一旦我展开树,我可以看到孩子在处理过程中被动态填充。如何使用 ObservableCollection 实现该行为?
【问题讨论】:
-
它是如何失败的?你在调用
RunWorkerAsync()方法吗? -
它默默地失败了。我在 VS 上运行调试,当调试器在后台工作线程中点击 collection.clear() 时,它就退出了。当我尝试评估该表达式时,我得到“NotSupportedException”
-
是的,我正在调用 RunWorkerAsync 来启动我的后台线程。
-
奇怪的是,只有当孩子的数量太大时它才会失败(大概需要太长时间并且树已经展开)
标签: wpf treeview observablecollection