WPF度量系統
和Winform不同,WPF的度量單位不是像素,而是設備無關單位DIU,其大小總是1/96吋
那麽,WPF中一個寬度爲96的按鈕,到底是多少個像素呢?
答:取決於系統DPI。
計算公式爲:實際像素 = 設備無關尺寸 * 系統DPI
這樣,在系統DPI爲96時(windows默認值),按鈕正好占用96像素;而系統DPI爲120時,將占用120個像素
像素尺寸有了,再已知屏幕DPI,就可以推算出物理尺寸了。
而屏幕DPI取決於屏幕尺寸和分辨率。比如:12.5吋筆記本,1366*768的屏幕DPI約125dpi;18.5吋臺式機,1366*768的屏幕DPI約85dpi
通常LCD顯示器有個自然分辨率,在該分辨率下顯示效果最佳,所以屏幕DPI可以説是固定的,設備出廠時就已經決定了。
姑且把屏幕DPI稱爲硬DPI(不大會變),而前面的系統DPI爲軟DPI(可以在控制面板中修改)。
説了這麽多,WPF度量系統的優勢在哪呢?
答:如果衹用默認的系統DPI,WPF的度量系統和Winform相比沒有優勢。因爲此時WPF的度量單位等同于像素,兩者的表現完全一樣。
不過當改變系統DPI的時候,WPF的優勢就體現出來了。
例如:當系統DPI增加到120時,WPF會自動增加像素尺寸,以顯示更多的細節,直觀上就是界面變大了,細節更清楚了;
而此時Winform的尺寸卻沒法自動變化,還是老樣子,雖然系統提供了更高的像素密度,但Winform卻無法顯示更多的細節。
不過WPF的這種方式有時也會帶來問題,比如:指定窗口的寬度爲1200,在默認的系統DPI下沒問題,但如果增加系統DPI,該窗口會超出屏幕範圍。
又比如圖片這種固定像素的元素,改變DPI後,WPF會拉伸圖片尺寸,反倒使得圖片變得模糊。
此時反倒是winform的固定像素方式不會出問題,所以孰優孰劣也要看場合。
WPF度量系統的更多相关文章
- 諾基亞定制的Android系統名為 Z Launcher
N1這款產品似乎沒有諾基亞的傳統風格,搭載Android系統以及酷似iPad mini的外觀,都在向外界傳遞著一個信號:諾基亞在變化.不過,沒有了移動設備部門的諾基亞,仍然心系消費電子市場,N1會是個 ...
- 各廠商ERP系統架構圖連結 (ERP流程圖)(轉)
各廠商ERP系統架構圖連結 (ERP流程圖) 資料來源 Google圖片搜尋ERP整理而來 資通電腦 ArgoERP 資通電腦 Oracle ERP 鼎新電腦 Workflow ERP鼎新電腦 S ...
- Linux-PAM(Linux下的密碼認證和安全机制)系統管理員指南(中文版)
he Linux-PAM 系统管理员指南作者:Andrew G. Morgan, morgan@linux.kernel.org翻译:孙国清(Thomas Sun),thomassun@yeah.ne ...
- 如何讓Android系統顯示CJK擴展區漢字
由於一些特殊需要,需要在個人設備上顯示CJK擴展區漢字,經多方詢問並驗證,找到了一下辦法,暫總結如下. 一.電腦上顯示 在電腦(Windows,Linux,Mac等系統)上可以通過安裝「花園明朝字體」 ...
- 判斷作業系統為 64bit 或 32bit z
有時我們在開發Windows 桌面應用程式時,會發生一些弔詭的事情,作業系統位元數就是一個蠻重要的小細節,若您寫的應用程式在Windows 的32bit 作業系統上可以完美的運行,但不見得在64bit ...
- tomcat 注冊成操作系統服務
nginx注冊成服務1.把srvany.exe和instsrv.exe拷貝到nginx安裝路徑下面.2.執行命令Command代碼instsrv Nginx D:\nginx\srvany.exe3. ...
- ubuntu系統如何啟動root用戶登陸?
之前分享過關於這個問題的文章,現在自己在分享一個關於這個問題的文章給大家.為了學習Linux,一氣之下把win10的換成了ubuntu的系統.安裝就不給大家介紹了(網上很多教程). 在我們安裝好之後, ...
- oracle系統表、數據字典介紹與日常問題診斷
oracle系統表.數據字典介紹與日常問題診斷 數據字典是由唯讀的table和view組成的,產生於$oracle_home\rdbms\admin\catalog.sql.裡面儲存Oracle資料庫 ...
- 開玩樹莓派(一):安裝Raspbian系統
目錄: 開玩樹莓派(一):安裝Raspbian系統 開玩樹莓派(二):配置IP,實現無顯示器局域網內Putty連接和RDP遠程 開玩樹莓派(三):Python編程 開玩樹莓派(四):GPIO控制和遠程 ...
随机推荐
- SVG格式图片转成HTML中SVG的Path路径
AI图标制作完成之后,保存的svg文件包含许多AI的信息,如果要在HTML中使用,我们需要在svg文件中提取/修改信息,重新保存. 1.在AI中已经完成图标,要保存SVG文件,点击“文件(File)” ...
- SRPING MVC基本配置
作下记录,WEB.XML的配置及DispatcherServlet-context.xml的配置. 而后者的配置,有不同的形式,不要被迷惑. WEB.XML <servlet> <s ...
- [bzoj2743][HEOI2012]采花_树状数组
采花 bzoj-2743 HEOI-2012 题目大意:给定n朵花,每朵花有一个种类,m次询问:一段区间中至少出现两朵花的种类的个数. 注释:$1\le n,m\le10^6$. 想法:这个题超级像H ...
- [bzoj1878][SDOI2009]HH的项链_树状数组
HH的项链 bzoj-1878 SDOI-2009 题目大意:给定一个n个数的序列,m次查询.查询区间数的种类个数. 注释:$1\le n \le 5\cdot 10^4$,$1\le m\le 2\ ...
- [bzoj3524/2223][Poi2014]Couriers_主席树
Couriers bzoj-3524 Poi-2014 题目大意:给定n个数的序列,询问区间内是否存在一个在区间内至少出现了(区间长度>>1)次的数.如果有,输出该数,反之输出0. 注释: ...
- 零基础学python-4.2 其它内建类型
这一章节我们来聊聊其它内建类型 1.类型type 在python2.2的时候,type是通过字符串实现的,再后来才把类型和类统一 我们再次使用上一章节的图片来说明一些问题 我们通过对照上面的图片.在p ...
- jsp param动作标签
param 标签以"名字-值"对的形式为其它标签提供附加消息.这个标签与jsp:include.jsp:forward.jsp:plugin标签一起使用. param 动作标签 & ...
- HDU 2206 IP的计算(字符串处理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2206 Problem Description 在网络课程上,我学到了非常多有关IP的知识. IP全称叫 ...
- COCOS2D 学习笔记
cc.Node.scheduleUpdate:function () * schedules the "update" method. ...
- jsencrypt代码分析
jsencrypt代码分析——openssl的rsa加密解密在js的实现 在js上做rsa,感觉jsencrypt这个是封装的比较好的,但用起来还是遇到了些坑,所以踩进代码里填填坑- 项目在这里 ...