我們有一個WPF應用程序(實際上是一個VSTO WPF應用程序)。在某些控件上有多個元素,點擊後可從Web服務加載數據並更新UI。現在,我們同步執行這些Web請求,阻塞UI線程,直到響應返回。這可以防止用戶在數據加載時單擊應用程序,可能會將其置於無效狀態以在返回數據時處理數據。如何在WPF異步操作期間阻止UI
當然,如果請求需要很長時間,應用程序將變得無響應。理想情況下,我們希望在此期間取消按鈕處於活動狀態,但沒有別的。有沒有一種聰明的方式來做到這一點,或者我們是否必須使用backgroundworker將請求切換爲異步執行,並寫入一些內容,以便在請求正在進行時禁用除取消按鈕外的所有控件?
編輯:對於我們已經期望長時間運行的操作(下載文件等),我們彈出一個進度對話窗口。例如,當你期望這個動作非常快(最多幾秒鐘),但偶爾需要更長的時間。在這種情況下,閃爍整個窗口片刻太過分了。
SRY我應該澄清我的問題,請參見編輯 – mcintyre321 2010-03-17 13:30:23