WPF中的UseLayoutRounding和SnapsToDevicePixels

WPF中的UseLayoutRounding和SnapsToDevicePixels

最近在调试项目中的UI时发现几个诡异问题:

  1. Grid容器里的GridSplitter设置粗细一样, 但截屏放大后发现线条不一样粗并且明暗不一致,导致打印出来有问题。

  2. 自定义控件的边缘在某些窗体中显示模糊。

导致以上问题的原因是:

1)UserLayoutRounding为False,导致控件布局相对屏幕若不是整数则不会四舍五入,导致边缘模糊。

2)SnapsToDevicePixels默认为false, 为true可以让元素像素级对齐。

xml 复制代码
<Grid UseLayoutRounding="True" SnapsToDevicePixels="True">

UIElement.UseLayoutRounding 属性

获取或设置一个值,该值确定对象及其可视化子树的呈现是否应使用将呈现与整像素对齐的舍入行为。(一般在容器元素上设置, 发生在Measure&Arrange期间)

相关推荐
脩衜者4 小时前
极其灵活且敏捷的WPF组态控件ConPipe 2026
前端·物联网·ui·wpf
张人玉5 小时前
西门子 S7 PLC 通信 WPF 应用分析笔记
笔记·c#·wpf·plc
张人玉5 小时前
整合 Sugar ORM 连接 SQLite 数据库到 WPF 折线图项目
数据库·sqlite·c#·wpf
bugcome_com1 天前
WPF 中控件样式定义的三种方式详解
wpf
Psycho_MrZhang2 天前
Ray 设计思想总结
wpf
廋到被风吹走3 天前
【Spring】Spring AMQP 详细介绍
java·spring·wpf
kylezhao20193 天前
WinForm/WPF界面开发(常用控件、布局设计、事件处理)
大数据·hadoop·wpf
Psycho_MrZhang3 天前
REST/gRPC/队列通信模式对比
wpf
墨白曦煜4 天前
Seata AT 模式:应用层回滚 vs 引擎层回滚
wpf
@淡 定5 天前
分布式事务解决方案
分布式·wpf