首页 > 代码库 > 再论WPF中的UseLayoutRounding和SnapsToDevicePixels
再论WPF中的UseLayoutRounding和SnapsToDevicePixels
以下摘自: http://blog.csdn.net/muzizongheng/article/details/14163227 的博客:
再论WPF中的UseLayoutRounding和SnapsToDevicePixels
分类: 自我心的 2013-11-05 11:16 732人阅读 评论(0) 收藏 举报
wpf自我心的UseLayoutRoundingGridSplitter模糊
最近在调试项目中的UI时发现几个诡异问题:
1.Grid容器里的GridSplitter设置粗细一样, 但截屏放大后发现线条不一样粗并且明暗不一致,导致打印出来有问题。
2.自定义控件的边缘在某些窗体中显示模糊。
导致以上问题的原因是:1)UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。2)SnapsToDevicePixels默认为false, 为true可以让元素像素级对齐。
UIElement.UseLayoutRounding 属性
获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。
(一般在容器元素上设置, 发生在Measure&Arrange期间)
UIElement.SnapsToDevicePixels 属性
获取或设置一个值,该值决定呈现元素期间是否应使用设备特定的像素设置。这是一个依赖项属性。
(一般在根元素设置, 发生在Render, 不是容器元素)
(DPI, Dot per inch, 96dpi:1 logical inch = 96 pixels, PNG等图片美工可能设置为72dpi)
具体请看MSDN:
http://msdn.microsoft.com/zh-cn/library/system.windows.uielement.uselayoutrounding(v=vs.95).aspx
http://msdn.microsoft.com/zh-cn/library/vstudio/system.windows.uielement.snapstodevicepixels.aspx
再论WPF中的UseLayoutRounding和SnapsToDevicePixels
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。