WPF:Dispatcher.Invoke 方法,只有在其上創建 Dispatcher 的線程才可以直接訪問DispatcherObject。若要從不同於在其上創建 DispatcherObject 的線程的某個線程訪問 DispatcherObject,請對與 DispatcherObject 關聯的 Dispatcher 調用 Invoke 或 BeginInvoke。需要強制線程安全的 DispatcherObject 的子類可以通過對所有公共方法調用 VerifyAccess 來強制線程安全。這樣可以保證調用線程是在其上創建 DispatcherObject 的線程。 代碼: this.lbl.Dispatcher.Invoke(new Action(()=>{ this.lbl.Text = "this is a test!!!"; })); Winfrom:Control.Invoke 方法 (Delegate),在擁有此控件的基礎窗口句柄的線程上執行指定的委托。 代碼: this.lbl.Invoke(new Action(()=>{ this.lbl.Text = "this is a test!!!"; })); |