如何在 WPF 中获取工具窗口标题栏高度?
Posted
技术标签:
【中文标题】如何在 WPF 中获取工具窗口标题栏高度?【英文标题】:How to get a tool window title bar height in WPF? 【发布时间】:2011-01-25 03:50:14 【问题描述】:WPF 将标题栏高度包含在总窗口高度中,而不是仅使用客户端内容区域高度。
有没有办法禁用此行为? 如果不是,如何获取工具窗口标题栏的高度?我知道 SystemParameters.CaptionHeight 属性和 SystemParameters.WindowCaptionHeight 属性,但它们都返回常规窗口标题栏的高度。这不是工具窗口的正确值,因为此类窗口的标题栏较小。我需要类似 SystemParameters.ToolWindowCaptionHeight
谢谢。
【问题讨论】:
【参考方案1】:客户区的大小是窗口根元素的实际大小:
public double ClientWidth
get return ((FrameworkElement)this.Content).ActualWidth;
public double ClientHeight
get return ((FrameworkElement)this.Content).ActualHeight;
【讨论】:
这个属性在我的上下文中没有用,因为它是只读的。如果有办法设置客户区大小,我将能够实现我想要做的事情。 我还需要在窗口显示之前完成所有工作,并且当时没有设置ActualWidth / ActualHeight。【参考方案2】:您可以退回到System.Windows.Forms.SystemInformation.ToolWindowCaptionHeight。虽然它在 WinForms 命名空间中,但它几乎不是 WinForms 唯一的类。
【讨论】:
感谢 Lars,完美运行。我宁愿避免将 Windows 窗体引用添加到我的项目中,但这将在有本机 WPF 解决方案之前进行。以上是关于如何在 WPF 中获取工具窗口标题栏高度?的主要内容,如果未能解决你的问题,请参考以下文章