0

考虑以下代码:

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

在像 WPF/Silverlight/WP 这样的多线程环境中,有没有办法确保 lastItemIndex 真的是第二行的最后一个项目索引?

4

1 回答 1

1

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

通常,您不应修改其他线程中 UI 控件可访问的集合 - 您可以使用 Invoke 将您的修改请求编组到主线程并在那里执行。这样,集合将始终仅从主线程访问和修改,并且您不会遇到并发问题。

于 2013-04-24T08:20:30.120 回答