我天生就是一個網絡和后端程序員。通常我會嘗試使Windows程序無效?,F在,我必須成為WPF客戶。我有一個后臺任務,每一次都會引發一個事件。(它像輪詢程序一樣工作,并且當滿足條件時會引發事件)。作為我的菜鳥,我編寫了此事件附帶的代碼以更新UI。 private void IsDisconnectedEvent() { UserWindow.Visibility = Visibility.Hidden; DisconnectWindow.Visibility = Visibility.Visible; }這給出了一個例外,因為我不在同一線程上。經過一番谷歌搜索后,我發現我應該使用以下代碼: private void IsDisconnectedEvent() { Dispatcher.Invoke(() => { UserWindow.Visibility = Visibility.Hidden; DisconnectWindow.Visibility = Visibility.Visible; }); }這行得通,但這不是唯一的事件,因此使我的代碼很難看。有更好的方法可以做到這一點嗎?
禁止在WPF代碼中使用Dispatcher.Invoke
慕無忌1623718
2019-11-20 12:49:31