我将在 WPF 中使用以下代码检测分辨率:
double height = System.Windows.SystemParameters.PrimaryScreenHeight;
double width = System.Windows.SystemParameters.PrimaryScreenWidth;
我的屏幕当前分辨率是 1920*1200,但是 <strong>height</strong>
是 960.0 和 <strong>width</strong>
是 1536.0!!!
这是怎么回事?
提前致谢。
最佳答案
请记住,所有 WPF 位置和大小都是以 1/96 英寸为单位的 float 。不是像素。这使您的窗口设计分辨率独立。计算一下:高度 = 960/96 = 10 英寸。将视频适配器设置为 120 DPI (120/96 = 125%):10 * 120 = 1200 像素。宽度相同:1536/96 * 120 = 1920 像素。
System.Windows.Forms 以像素为单位工作。您得到的高度小于 1050,因为它减去了任务栏的高度。但对于 WPF,您总是希望使用 1/96",而不是像素。
关于c# - WPF 中的屏幕分辨率问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2236173/