WPF的 SystemParameters class公开了许多系统指标。在我的计算机上,我注意到普通窗口的标题高30像素,边框宽8像素。这是在启用Aero主题的Windows 7上:

但是,SystemParameters返回以下值:

SystemParameters.BorderWidth = 5
SystemParameters.CaptionHeight = 21

在这里,我禁用了Aero主题:

现在,SystemParameters返回以下值:
SystemParameters.BorderWidth = 1
SystemParameters.CaptionHeight = 18

如何使用SystemParameters计算实际的观测值?

最佳答案

对于可调整大小的窗口,您需要使用一组不同的参数来计算大小:

var titleHeight = SystemParameters.WindowCaptionHeight
  + SystemParameters.ResizeFrameHorizontalBorderHeight;
var verticalBorderWidth = SystemParameters.ResizeFrameVerticalBorderWidth;

修改主题时,这些大小将更改。

09-06 05:08