好吧,所以我發現了一些相當奇怪的行爲,同時搞亂了WPF ProgressBar控件。此控件位於ListView控件的列中,其實質與this question & answer幾乎沒有什麼不同。WPF ProgressBar在更新速度過快時會失去光澤 - bug?
我由幾個屬性(Min
,Max
,Value
),所有單向綁定明顯的手段結合Progressbar
一類。此另一個類是從另一個線程更新的,並定期使用接口讓ProgressBar知道狀態正在進行。這一切都很好!
但這裏是奇怪的地方。我的ProgressBar失去光芒......直到達到Max
(= 100%)的價值。然後它突然開始在綠色酒吧裏閃爍着白色的光芒,這非常煩人。我有一個理由表現出進步,而一旦你開始注意到它不在那裏,缺乏脈搏實際上很讓人分心。
因此,我啓動了調試。我發現Thread.Sleep(1000)
在我的線程處理中,它仍然隱藏着光芒,但是如果我將它撞到Thread.Sleep(1500)
,那麼輝煌就會隨時回到瘋狂的活力。之後,我嘗試將我的進度單位轉換爲較小的數字,因此整數值需要更長的時間才能更改。 Min 0,Max 100仍然缺乏光芒。最低0分,最高10分的輝光以充滿活力迴歸。在所有情況下,花費達到100%的工作量和時間是相同的,但對於輝光顯示來說,這是一個非常明顯的二元化YES/NO效果。我沒有測試過的唯一的事情是,當ProgressBar沒有放在這個ListView控件中時它是否也會發生。
我對自己非常瞭解,無法理解ProgressBar控件所涉及的(XAML)的深層WPF內部。所以我希望這裏的任何人都知道這是一個已知的bug,他們偶然發現的東西,或者他們甚至可能知道如何解決/修復的東西。
我的機器運行Windows 7,並且我正在VS2010中開發針對.NET Framework 4 Client Profile。