WPF DPI问题

时间:2009-12-15 20:50:00

标签: c# wpf dpi

我开发了一个在我的计算机上看起来很棒的应用程序但是当我将它安装在具有不同分辨率和DPI设置的其他计算机上时,它看起来很糟糕。控件彼此重叠,这只是悲惨的。有没有人对如何避免这个有任何建议?

1 个答案:

答案 0 :(得分: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进行扩展,以避免重叠:)