WPF之UseLayoutRounding和SnapsToDevicePixels

最近在工作中看别的朋友XML代码时,发现SnapsToDevicePixels 属性然后通过查询资料了解其作用

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

本文转载于http://blog.csdn.net/muzizongheng/article/details/14163227

时间: 2024-10-15 00:30:38

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模糊 最近在调试项目

WPF 自定义控件 CropingImage 防QQ头像 编辑功能

1 <ControlTemplate x:Key="reSizeThumb" TargetType="{x:Type Thumb}"> 2 <Border Background="{DynamicResource BlueBrush}"> 3 </Border> 4 </ControlTemplate> 5 6 <ControlTemplate x:Key="moveThumb&qu

wpf SnapsToDevicePixels

原文:wpf SnapsToDevicePixels ?? 可以在您的根元素上将此属性设为 true,以在整个 UI 上启用像素对齐呈现. 对于运行在大于 96 每英寸点数 (dpi) 的设备,像素对齐呈现可以最小化在单一实线附近出现的抗锯齿视觉瑕疵. 当由 FrameworkElement 或任何可能的派生类继承时,FrameworkElement 将重写此依赖项属性的元数据,以将 Inherits 元数据属性设置为 true. 这样做的结果是子树中只有最外面的元素需要将 SnapsToDev

WPF自定义控件(三)——Window

一样!先来看看效果吧: 怎么样?效果很好吧,而且不只是样式哟!所有系统窗体有的交互操作都可以实现! 但可惜...有很多和系统API有关的东西本人了解得并不多,所以这个窗体是基于他人的成果上产生的.关于窗体交互的东西还是看看原作者的吧: http://blog.csdn.net/dlangu0393/article/details/12548731 接下来说说我在这上面多加的功能:可设置标题栏可见性,可扩展标题栏下拉按钮,可全屏并拦截键盘,另外还多公布了一些属性 再来一张图: 这就是没有标题栏的,

在WPF应用程序中使用Font Awesome图标

Font Awesome 在网站开发中,经常用到.今天介绍如何在WPF应用程序中使用Font Awesome . 如果是自定义的图标字体,使用方法相同. 下载图标字体 在官方网站或github上下载资源 http://fontawesome.io/#modal-download https://github.com/FortAwesome/Font-Awesome 解压下载的文件(我是在github上下载的源码),我们要使用的是其中css和fonts文件夹中的内容 在项目中加入字体 新建WPF应

WPF绘制矢量图形模糊的问题

WPF默认提供了抗锯齿功能,通过向外扩展的半透明边缘来实现模糊化.由于WPF采用了设备无关单位,当设备DPI大于系统DPI时,可能会产生像素自动扩展问题,这就导致线条自动向外扩展一个像素,并且与边缘相邻的线条颜色变成了半透明,如下图所示: 这种特性在绘制细线条的时候会导致一些我们所不期望的结果:颜色变淡,线条模糊,线条变粗.很多时候,我们是无法绘制一个像素的清晰的线条的.对于这个问题,WPF给我们提供了几种解决方案: 1.设置像素对齐 对于系统内置的一些控件,通过设置SnapsToDeviceP

WPF教程005 - Timeline时间轴控件的实现

效果图: 由于整个控件是实现之后才写的教程,因此这里记录的代码是最终实现后的,前后会引用到其他的一些依赖属性或者代码,需要阅读整篇文章. 1.确定Timeline继承的基类 从效果图中可以看到,时间轴都是由一节一节的子节点组成的,这个很容易联想到我们应该将Timeline继承自ItemsControl.之外仔细观察效果图,可以发现第一项的时间轴节点与其他都不同,而且拆解每一个子项,发现都是由一个圆圈和一个竖线组成,但是最后一项和上面的都不同,少了一个竖线,因此为了控制这些样式,我们需要重新定义一

WPF ItemsControl ListBox ListView比较

在进行列表信息展示时,WPF中提供多种列表可供选择.这篇博客将对WPF ItemsControl, ListBox, ListView进行比较. 相同点: 1. 这三个控件都是列表型控件,可以进行列表绑定(ItemsSource): 2. 这三个控件均使用ItemsPresenter来展示列表信息: 不同点: 控件层次关系: ItemsControl: System.Object  System.Windows.Threading.DispatcherObject System.Windows.

WPF的TextBox水印效果详解

一种自以为是的方式: 本来只是想简单的做个水印效果,在文本框内容为空的时候提示用户输入,这种需求挺常见.网上一搜 都是丢给你你一大段xaml代码.用c#代码实现我是不倾向了 既然用wpf就得Xaml啊.首先我想到的是template嘛 wpf到处离不开template .我想到的是一个border 套一个textblock嘛 然后让文本内容通过templateBinding到Text嘛 搞得不亦乐乎 ,并且也确实很快就达到了我要的效果: 1 <TextBox> 2 <TextBox.Te