WPF:SystemParameters.WindowCaptionButtonHeight返回的数字小于预期
本文关键字:数字 小于 返回 SystemParameters WindowCaptionButtonHeight WPF | 更新日期: 2023-09-27 18:28:41
我们有一个窗口,我们将WindowChrome GlassFrameThickness设置为负值,这样我们就可以在整个窗口上扩展玻璃框架。
这样,当我实际期望的值在~36之间时,SystemParameters.WindowCaptionButtonHeight值将返回22。我提供了一些图片,显示了当前和预期的行为应该是什么
当前行为
预期行为
目前,我正在通过使用WindowCaptionButtonWidth而不是height来解决这个问题,因为它返回了更期望的值,但这感觉不对。
在DWM下,这些系统参数不再给出正确的值。您仍然可以通过将SystemParameters.CaptionHeight、SystemParameters.WindowResizeBorderThickness.Left(或除Top之外的任何值)和SystemParameters.WWindowNonClientFrameThickness.Left(或除Top.之外的其他值)相加来计算高度。
但是,在像Windows10这样的Per-Monitor DPI环境下,事情变得相当复杂。如果没有系统DPI和每个监视器DPI的正确修改,这些系统参数将变得毫无用处。因此,如果您希望完全重新设计窗口,字幕高度将是每个监视器DPI的总体考虑因素之一。