2011-03-30 41 views
0

我該如何實現接受超過100%值的OpacityConverter?像120%或150%。不透明轉換器破解

謝謝。

+3

120%或150%應該發生什麼? – Femaref 2011-03-30 09:11:53

+0

標準OpacityConverter引發一個異常,說有效值只能從0到100% – abenci 2011-03-30 09:23:29

+0

是的,我意識到這一點。你**想要發生什麼?默認爲100%? – Femaref 2011-03-30 09:24:31

回答

0

我認爲你應該調整你的代碼。提供您的值轉換器之前,通過Math.Min/Max運行它:

//adjusted = Max(0, Min(1.0, input)) 

decimal stuff1 = 1.1m; 
decimal stuff2 = -0.1m; 
decimal stuff3 = 0.5m; 

decimal correct1 = Math.Max(0m, Math.Min(1.0m, stuff1)); // 1.0 
decimal correct2 = Math.Max(0m, Math.Min(1.0m, stuff2)); // 0.0 
decimal correct3 = Math.Max(0m, Math.Min(1.0m, stuff3)); // 0.5 

低於0%或100%以上的任何不透明性沒有任何意義,只是因爲你不能做任何事情明顯超過完全可見;同樣,你不能讓東西可見比不可見