我开发了一个在我的计算机上看起来很棒的应用程序,但是当我将它安装在具有不同分辨率和 DPI 设置的其他计算机上时,它看起来很糟糕。控件相互重叠,这很痛苦。有人对如何避免这种情况有任何建议吗?
4439 次
1 回答
2
Windows 无法知道屏幕的本机 DPI(每英寸点数),因为实际上屏幕无法将其告知计算机。这意味着很多人会有 DPI 设置,这与他们的显示器原生 DPI 不同。
那么,这如何融入整个“WPF 使用的 DIP(与设备无关的像素)”辩论?好吧,对于 WPF 计算 DIP 的大小,它需要 1 个信息和 1 个不变量:它需要知道您正在运行的分辨率(不是问题),并且需要您将屏幕设置为其原生 DPI。如果您的屏幕未设置为本机 DPI,则与屏幕的物理尺寸相比,像素可能会大于或小于应有的大小。
真的很难解释,看看这些博客文章: http ://www.odewit.net/ArticleContent.aspx?id=WpfDpiScaling&lang=en&format= html http://blogs.microsoft.co.il/blogs/ tomershamam/archive/2007/11/30/wpf-is-dpi-depended.aspx http://www.wpflearningexperience.com/?p=41(立即下载:()
一般来说,您应该使用滚动条、分页控件之类的东西使您的 UI 可扩展,以避免重叠 :)
于 2009-12-15T21:05:22.030 回答