多线程时,其它线程不能获取前端UI,可以给ListBox 绑定一个数据源,其它线程操纵这个数据源进行数据的添加删除。
public static Collection<string> collection = new ObservableCollection<string>();
msgListBox.ItemsSource = collection;
var lockObj = new object();
BindingOperations.EnableCollectionSynchronization(collection, lockObj);
数据源通过锁进行进程互斥。其它线程可以直接操作collection