我有一個綁定到集合的WPF ListView(List<T>
)。它目前從當前正常工作的線程更新。線程安全,列表,綁定和WPF
我想將更新列表的邏輯移動到一個線程中,並且我看到一些關於線程安全性和列表綁定的潛在問題。我可以保證,除非我致電NotifyPropertyChanged
,否則綁定不會更新?是NotifyPropertyChanged
阻塞呼叫還是隻是將它添加到消息隊列中;在這種情況下,肯定可能有一種情況,我告訴ListView
集合已更新,但到更新綁定時,我可能正在修改其他線程中的集合,這將引發異常或程序崩潰。
在這種情況下實現線程安全的最佳方法是什麼?
雖然Invoke不是阻塞呼叫嗎?當然,可以在列表被修改的同時更新綁定。 – Chris 2010-08-06 11:25:03
@Chris它是同步的,但您始終可以調用Begin/EndInvoke。 – Will 2010-08-06 11:26:59