WPF单位真的与分辨率无关吗?

WPF从发布之日起,一直将“分辨率无关(resolution independence)”作为其 亮点,声称使用WPF制作的用户界面在轻巧的Ultra-Mobile PC的屏幕上和在50英寸的电视机 上都能很好地显示。微软之所以称WPF具备“分辨率无关”这一特性,主要是因为 WPF的坐标单位设计成为以1/96英寸为一个逻辑像素单位,而不是与设备相关的像素单位。

但是微软本身对WPF“分辨率无关”这一特性没有作更多的具体解释,导致用 户会产生很多误解。

误解之一

改变显示器的分辨率设置,同一个WPF的用户界面和绘制的图形尺寸不会变化。

这个可以用一个非常简单的实验证明该结论是错误的。新建一个WPF应用程序窗口,其中 高度为400DIUs(DIU:Device independent unit,设备无关单位),宽度为600DIUs,让这 个窗口分别在分辨率设置为1280 * 1024和800*600的环境下运行,如下图所示,两个窗口的 尺寸是明显不一样的。

  

图 1 左图为1280 * 1024分辨率,右图为800*600分辨率

误解之二

改变显示的DPI设置,同一个WPF的用户界面和绘制的图形尺寸不会变化。

显示的DPI设置,在XP系统下是通过右键——属性——设置选项卡 ——高级,可以调用出来,如下图所示:

图 2 显示属性DPI设置

这个也可以用同样的方法进行证明该结论是错误的。仍然是高度为400DIUs[1],宽度为 600DIUs的窗口分别运行在96DPI和192DPI两种设置环境下。从下图也可以明显看出窗口的尺 寸是不一样的。

         

图 3 左图为96DPI,右图为192DPI

时间: 2024-08-05 00:32:25

WPF单位真的与分辨率无关吗?的相关文章

Android的单位以及屏幕分辨率详解

一.常用的单位:相对单位主要有:px.sp.dp绝对单位主要有:pt.in.mm 二.单位应用总结:一般用相对单位,而不是绝对单位1.字体的大小一般使用SP,用此单位的字体能够根据用户设置字体的大小而自动缩放 2.空间等相对距离一般使用dp(dip),随着密度变化,对应的像素数量也变化,但并没有直接的相对比例的变化. 3.px与实际像素有关,及与密度有关!dp和sp和实际像素没有关系,对于一定分辨率但不同密度的屏幕,px单位的应用可能会导致长度的相对比例的变化. 三.密度与分辨率:密度值表示每英

Android的单位以及屏幕分辨率详解_Android

一.常用的单位:相对单位主要有:px.sp.dp绝对单位主要有:pt.in.mm 二.单位应用总结:一般用相对单位,而不是绝对单位1.字体的大小一般使用SP,用此单位的字体能够根据用户设置字体的大小而自动缩放 2.空间等相对距离一般使用dp(dip),随着密度变化,对应的像素数量也变化,但并没有直接的相对比例的变化. 3.px与实际像素有关,及与密度有关!dp和sp和实际像素没有关系,对于一定分辨率但不同密度的屏幕,px单位的应用可能会导致长度的相对比例的变化. 三.密度与分辨率:密度值表示每英

牛X素材推荐之TriangleRectangleLabelView

转载请注明出处:王亟亟的大牛之路 Git上看到一个比较给力的自定义展示标签的View,分享给大家TriangleRectangleLabelView.然后根据原作者的代码我会对其中运用的一些技术点加以解释,在此在此谢谢原作者的开源精神 先贴一下运行效果: 包结构 整体实现还是很轻量级的,只有一个实现的class和attrs来处理初始化. TriangleRectangleLabelView(作者已详细标注) public class TriangleRectangleLabelView exte

2000条你应知的WPF小姿势 基础篇<1-7>

原文:2000条你应知的WPF小姿势 基础篇<1-7> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Know About WPF .听到博客名字就懂这个人有多伟大了吧.他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.Follow他的博

WPF基础到企业应用系列2——WPF前世今生

1.开篇前言 很多时候了解一项新技术的历史和趋势往往比这项技术的本身价值还要重要.WPF作为一项新技术(已经三年多了,或者应该叫老技术了),我们都有必要了解它的来龙去脉,尤其是公司的CTO.技术总监.架构师等决策层,因为他们对技术的选型及应用具有决定权.对于开发者来说,了解自己正在从事的这个技术的前世今生,有助于我们更好的认识技术本身的价值,也可以避免我们少走一些弯路(圣殿骑士 就走过很多弯路,所以对此比较感慨).从IT技术发展的这些年可以看出,技术对于各大公司只是竞争的一种手段,而对于大多数程

分享Android上dip、dp、px、sp等单位详解

[ dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA.HVGA和QVGA 推荐使用这个,不依赖像素. px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多. pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用: sp: scaled pixels(放大像素). 主要用于字体显示best for text

2000条你应知的WPF小姿势 基础篇&lt;15-21&gt;

原文:2000条你应知的WPF小姿势 基础篇<15-21> 在正文开始之前需要介绍一个人:Sean Sexton. 来自明尼苏达双城的软件工程师,对C#和WPF有着极深的热情.最为出色的是他维护了两个博客:2,000Things You Should Know About C#  和 2,000 Things You Should Know About WPF .他以类似微博式的150字简短语言来每天更新一条WPF和C#重要又容易被遗忘的知识.Follow他的博客也有一段日子了,很希望能够分享

一起谈.NET技术,WPF企业内训全程实录(上)

一. 摘要 圣殿骑士由于工作和项目需要,所以对一些技术进行了较为深入的研究,之前在整个公司做过一些技术专场的培训,由于每次时间较短且人员较多的关系,没能讲得很透彻.一直都想以文字的形式把这些培训细节写出来,但是发现进度确实很慢,所以先来几篇宏观的讲解,希望能起到"授人与鱼也授人以渔"的效果.今天我们就来分享一下WPF内训之旅,这篇文章以WPF培训为主线,中间贯穿了一些其他技术和使用心得.其他培训专题诸如"OO到设计模式"."WCF基础到企业应用"

一起谈.NET技术,WPF 基础到企业应用系列2——WPF前世今生

1.开篇前言      很多时候了解一项新技术的历史和趋势往往比这项技术的本身价值还要重要.WPF作为一项新技术(已经三年多了,或者应该叫老技术了),我们都有必要了解它的来龙去脉,尤其是公司的CTO.技术总监.架构师等决策层,因为他们对技术的选型及应用具有决定权.对于开发者来说,了解自己正在从事的这个技术的前世今生,有助于我们更好的认识技术本身的价值,也可以避免我们少走一些弯路(圣殿骑士 就走过很多弯路,所以对此比较感慨).从IT技术发展的这些年可以看出,技术对于各大公司只是竞争的一种手段,而对