C# 为什么我的应用程序窗口会离开屏幕?
我正在构建一个C#WPF应用程序。目前,当我在1024x768屏幕分辨率的环境中在我的机器上运行它时,它完全适合。然而,当我把它发送给同事时,他的分辨率为1280 x 800,应用程序窗口从屏幕的底部边缘延伸,因此他无法重新调整大小或查看窗口中的所有内容。我运行的是Windows7,他运行的是WindowsXP,如果这有什么区别的话。此外,在我的XAML代码中,我将“Height”和“MinHeight”属性都设置为700,因此我认为它不应该一开始就高于700C# 为什么我的应用程序窗口会离开屏幕?,c#,wpf,xaml,window,height,C#,Wpf,Xaml,Window,Height,我正在构建一个C#WPF应用程序。目前,当我在1024x768屏幕分辨率的环境中在我的机器上运行它时,它完全适合。然而,当我把它发送给同事时,他的分辨率为1280 x 800,应用程序窗口从屏幕的底部边缘延伸,因此他无法重新调整大小或查看窗口中的所有内容。我运行的是Windows7,他运行的是WindowsXP,如果这有什么区别的话。此外,在我的XAML代码中,我将“Height”和“MinHeight”属性都设置为700,因此我认为它不应该一开始就高于700 欢迎提出任何想法,提前感谢。WPF
欢迎提出任何想法,提前感谢。WPF以英寸为单位指定大小和位置,而不是以像素为单位。单位为1/96英寸。因此,高度设置为700指定的窗口高度为700/96=7.292英寸 很可能,你的同事戴着眼镜,将视频适配器的每英寸点数设置从96增加到120 dpi(标尺上为125%),以便更容易阅读文本。这使得您的窗口7.292*120=875像素高。这不适合显示器可以显示的800像素
你需要把你的窗户缩小一些。不超过800/120*96=640。如果任务栏位于底部,则为其留出空间。或者最好支持可调整大小的窗口布局。Windows中的DPI设置如何?您的窗口中是否有更改大小的内容?他在Windows中是否有较大的字体大小或DPI设置?当应用程序加载时,您的代码是否会增加高度?如果是这样的话,那么即使是读取一个负载,它也可以超过700像素。在我的代码中并没有改变高度的东西。你如何检查DPI设置?事实证明这正是问题所在:我的DPI是96,而他的DPI被放大到120