WPF window.Left +window.Width 显示错误
WPF window.Left +window.Width shows wrong
我想在第一个附近显示第二个 window,但是 WPF window.Left+window.Width 没有帮助我,看图片示例。
Image example
第一件事:我建议使用 Window.ActualWidth
因为这会给你渲染的 window 实际占用的大小,而 Window.Width
只会给你大小window 从布局系统请求。
总之,这不能解决您的问题。这里的问题是 window 的宽度包含 window 客户区的宽度以及它的非客户区,比如边框(还有一些我不知道的东西真的很了解)。
所以你可以尝试做的是将第二个 window 与第一个 window 的客户区对齐,并考虑 window 边框宽度,就像这样:
window.Left = this.Left
+ (this.Content as FrameworkElement).ActualWidth
+ 2 * SystemParameters.BorderWidth;
我想在第一个附近显示第二个 window,但是 WPF window.Left+window.Width 没有帮助我,看图片示例。
Image example
第一件事:我建议使用 Window.ActualWidth
因为这会给你渲染的 window 实际占用的大小,而 Window.Width
只会给你大小window 从布局系统请求。
总之,这不能解决您的问题。这里的问题是 window 的宽度包含 window 客户区的宽度以及它的非客户区,比如边框(还有一些我不知道的东西真的很了解)。
所以你可以尝试做的是将第二个 window 与第一个 window 的客户区对齐,并考虑 window 边框宽度,就像这样:
window.Left = this.Left
+ (this.Content as FrameworkElement).ActualWidth
+ 2 * SystemParameters.BorderWidth;