【发布时间】:2011-05-10 16:13:25
【问题描述】:
我有一个针对 MVVM 框架开发的 WPF 应用程序,其中 ViewModel 构造函数设置了一个带有 TimerCallback 的 Timer。
TimerCallback 检索 ObservableCollection 并将其传递给 VM 上的字段。
我有一个 CollectionViewSource,它的 Source 属性设置为 ObservableCollection。我正在使用 CollectionViewSource,因为我想对 Collection 启用过滤。
我发现当 TimerCallback 尝试将 ObservableCollection 传递到本地字段时,CollectionViewSource 的 Source 属性出现异常{“调用线程无法访问此对象,因为不同的线程拥有它。”}。
我理解异常但我有两个问题:
- 如何解决这个问题?
- 更重要的是,为什么我只在使用 CollectionViewSource 时才会遇到这个问题?如果我删除 CollectionViewSource 并将 ObservableCollection 设为公共属性,则不会出现此类异常。
任何帮助表示赞赏!谢谢, 德拉米
【问题讨论】:
标签: wpf mvvm timer callback collectionviewsource