多线程WPF/Silverlight/WP应用的并发性

本文关键字:并发 应用 WP WPF Silverlight 多线程 | 更新日期: 2023-09-27 18:10:33

考虑以下代码:

int lastItemIndex = m_listbox.ItemsSource.Count - 1;
var groupItem = m_listbox.ItemsSource[lastItemIndex] as GroupedObservableCollection<ScheduleItem, DateTime>;

在像WPF/Silverlight/WP这样的多线程环境中,是否有任何方法可以确保lasttitemindex真的是第二行上的最后一个项目索引?

多线程WPF/Silverlight/WP应用的并发性

WPF以及大多数其他UI框架默认是单线程的。只有在显式执行多线程时才会发生。

一般来说,你不应该修改由其他线程的UI控件访问的集合——你可以使用Invoke将你的修改请求封送到主线程,并在主线程中进行修改。这样,只能从主线程访问和修改集合,就不会出现并发性问题。