在WPF中,宽度为1的Border,如果SnapsToDevicePixels为true的话,就很清晰,但是,如果改变窗口尺寸,则Border有可能消失;如果SnapsToDevicePixels为false的话,则无论怎么拉动窗口,Border都不会消失,但是Border有可能变得很模糊,很粗。
试问天下高人,处理此种情况,除了SnapsToDevicePixels属性,就没有其它办法了吗?
------解决思路----------------------
定义 width为1 的Line,border为容器控件,不适合干这事。
------解决思路----------------------
+1
------解决思路----------------------
这就涉及到了WPF中的“像素对齐”概念了,SnapsToDevicePixels为true 启用像素对齐,也就是将UI中可视化树中的对象边缘与设备像素对齐,如果为false,就会产生“模糊”的效果。
当窗口大小改变,像素对齐 功能就会关闭,直到动作结束,再重新计算对象边缘与设备像素是否对齐。想象一下,一个width为100的line 如果恰当的显示清晰,改变了它的父容器大小,结果它的大小随之而变,就会引起像素对象失效,就会造成模糊,出现锯齿边缘等现象。 办法可能 就是设置父容器的最小宽度,防止元素大小改变。
------解决思路----------------------
有没有好的办法呢
你如果知道了 记得分享出来。