1
我正在使用一些需要一些時間(〜3-5s)渲染的第三方組件 - 在分析後我得出結論,大部分時間都浪費在MeasureOverride和Render這些控件的方法......我無法編輯這些組件的源代碼。 問題是..我可以顯示一個繁忙的指標,而界面正在'繪製'?在WPF中可能嗎?繁忙的指標在漫長的WPF界面繪製操作
我正在使用一些需要一些時間(〜3-5s)渲染的第三方組件 - 在分析後我得出結論,大部分時間都浪費在MeasureOverride和Render這些控件的方法......我無法編輯這些組件的源代碼。 問題是..我可以顯示一個繁忙的指標,而界面正在'繪製'?在WPF中可能嗎?繁忙的指標在漫長的WPF界面繪製操作
不,你不能,不好,不好。
UI線程忙於渲染 - 繪製繁忙指示器將需要相同的線程來繪製指標。
現在,您可以從另一個線程創建另一個窗口(可能是半透明的),並將該窗口放置在凍結窗口的頂部,但這很難正確對待,您必須處理諸如用戶移動窗口(因爲接受移動通知的線程正忙,您將永遠不會知道窗口已移動),或者在您的兩個窗口之間彈出其他應用程序
此外,這可能會干擾第一個窗口繪圖,有很多角落案件可以得到正確的處理。