在我们的 WPF 应用程序中,我们使用 WindowStyle="None" 来为我们的应用程序提供更自定义的外观。最大化/最小化按钮在同一个地方,但是按照我们想要的方式设置样式。
因此,我们正在劫持最大化和最小化行为并手动进行。我们正在执行以下操作:
this.Top = myScreen.WorkingArea.Top;
this.Left = myScreen.WorkingArea.Left;
this.Width = myScreen.WorkingArea.Width;
this.Height = myScreen.WorkingArea.Height;
在这里,myScreen 是应用程序中心点所在的屏幕,以防用户在多显示器设置上运行。
在某些设置上,并且看似没有连接,点击最大化按钮会将应用程序的大小扩展到显示器的实际可视区域之外。它在我和另一个开发人员设置中以这种方式失败,但我的老板多显示器设置它工作得很好。
我的显示器设置如下:
监视器 2(左)
Top, Left: 0, -1280
Resolution: 1280, 1024
显示器 1(右侧,笔记本电脑)
Top, Left: 0, 0
Resolution: 1680, 1050
当我手动将应用程序调整为最大化时应达到的大小时,我得到以下值:
Top, Left: 0, -1024
Height, Width: 792, 1024
我最近更新了笔记本电脑上的显示驱动程序,没有更新的驱动程序存在。除此之外,我无法解释这种现象。其他人有这方面的经验吗?这可能是每像素点的转换问题还是什么?我无法从这里或搜索谷歌找到任何答案......任何帮助将不胜感激!