【问题标题】:WPF window.Left +window.Width shows wrong [closed]WPF window.Left +window.Width 显示错误[关闭]
【发布时间】:2020-03-14 13:32:45
【问题描述】:

我想在第一个窗口附近显示第二个窗口,但 WPF window.Left+window.Width 对我没有帮助,请查看图像示例。

Image example

【问题讨论】:

标签: wpf window


【解决方案1】:

首先要做的是:我建议使用Window.ActualWidth,因为这将为您提供渲染窗口实际占用的大小,而Window.Width 只为您提供窗口从布局系统请求的大小。

无论如何,这不会解决您的问题。这里的问题是窗口的宽度既包含窗口客户区的宽度,也包含其非客户区的宽度,比如边框(还有一些我不太了解的东西)。

因此,您可以尝试将第二个窗口与第一个窗口的客户区对齐,并考虑窗口边框宽度,如下所示:

window.Left = this.Left
    + (this.Content as FrameworkElement).ActualWidth
    + 2 * SystemParameters.BorderWidth;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多