做個網(wǎng)站要多少錢福州seo網(wǎng)站排名
WPF中的UseLayoutRounding和SnapsToDevicePixels
最近在調(diào)試項(xiàng)目中的UI時發(fā)現(xiàn)幾個詭異問題:
-
Grid容器里的GridSplitter設(shè)置粗細(xì)一樣, 但截屏放大后發(fā)現(xiàn)線條不一樣粗并且明暗不一致,導(dǎo)致打印出來有問題。
-
自定義控件的邊緣在某些窗體中顯示模糊。
導(dǎo)致以上問題的原因是:
1)UserLayoutRounding為False,導(dǎo)致控件布局相對屏幕若不是整數(shù)則不會四舍五入,導(dǎo)致邊緣模糊。
2)SnapsToDevicePixels默認(rèn)為false, 為true可以讓元素像素級對齊。
<Grid UseLayoutRounding="True" SnapsToDevicePixels="True">
UIElement.UseLayoutRounding 屬性
獲取或設(shè)置一個值,該值確定對象及其可視化子樹的呈現(xiàn)是否應(yīng)使用將呈現(xiàn)與整像素對齊的舍入行為。(一般在容器元素上設(shè)置, 發(fā)生在Measure&Arrange期間)