gpt4 book ai didi

c# - 使用 Windows + Shift + 箭头键移动最大化窗口时 Window.Left 错误

转载 作者:行者123 更新时间:2023-11-30 14:44:39 24 4
gpt4 key购买 nike

我在 WPF (C#) 中遇到问题,我需要将弹出窗口定位在父窗口中的某个点上。我通过 Application.Current.MainWindow.LeftApplication.Current.MainWindow.Top 获得父位置,只要我不从一个窗口移动它就可以工作使用 Windows 快捷方式 Windows + Shift + / 监视另一个。如果我使用快捷方式,属性将与移动窗口之前保持不变。

窗口必须是 WindowState.Maximized,如果它没有最大化它也能工作。

我也尝试使用 Window.GetWindow(this) 而不是 Application.Current.MainWindow,结果是一样的。

似乎 Application.Current.MainWindow 没有发生 positionchanged 事件,也没有更新 LeftTop属性。

我在 SO 或 Google 上没有找到任何关于此的内容。非常感谢解决方法、提示或解决方案。

最佳答案

尝试使用这个:

    WindowInteropHelper windowInteropHelper = new WindowInteropHelper(Application.Current.MainWindow);
Screen screen = System.Windows.Forms.Screen.FromHandle(windowInteropHelper.Handle);

Screen Bounds 属性提供整个窗口的坐标,WorkingArea 提供没有标题栏和停靠窗口的区域的边界。

关于c# - 使用 Windows + Shift + 箭头键移动最大化窗口时 Window.Left 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58916293/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com