3

我遇到了这样一种情况,虽然 MinWidth 和 MinHeight 属性在 Windows 分辨率下(在 Windows 7 上)具有相同的值,但我的应用程序仍然没有完全显示在屏幕上(顶部的某些部分和右侧的某些区域是切)。例如:

MinWidth="1280" MinHeight="960"

Windows 分辨率设置为 1280x960。仍然没有完全显示应用程序。但是,如果我将分辨率 DPI 更改为更小(96dpi),应用程序将正确显示。如何在 WPF 应用程序中将 AutoScaleMode 设置为 dpi。

即使在@Abe Heidebrecht 回答之后,我也没有看到结果有任何改善。例如,当我最大化应用程序时,我的用户界面如下所示:(请注意,我有一个秒监视器,黑色区域在第二个监视器上)

在此处输入图像描述

4

1 回答 1

4

WPF 使用与设备无关的像素。在 WPF 中,1 个像素应该是 1/96 英寸(因为在 WPF 开发时 96DPI 并不常见)。因此,如果您的显示器具有更高的 DPI,WPF 实际上会报告您的像素多于 1280x960。这是一篇我认为很好解释的博客文章

我会用这个SystemParameters类来得到你所追求的:

Width="{DynamicResource {x:Static SystemParameters.FullPrimaryScreenWidthKey}}"
Height="{DynamicResource {x:Static SystemParameters.FullPrimaryScreenHeightKey}}"
于 2013-08-06T14:36:18.747 回答