【发布时间】:2016-02-15 16:34:09
【问题描述】:
我有很多窗口,每次打开新窗口时都希望位置与上一个窗口相同。
我在每个窗口都试过这个:
WindowStartupLocation="CenterOwner"
但它不起作用:窗口仍然在其他地方弹出。
我试图在我的一个窗口中设置所有者,但这仍然不起作用。我也尝试了this问题的解决方案,但仍然没有乐趣。
如何确保每次打开新窗口(关闭前一个窗口后)时,我都获得与前一个窗口相同的位置?
【问题讨论】:
-
同一应用程序或任何应用程序的新窗口?我个人更喜欢
CenterScreen。 -
@i486 相同的应用程序,是的,但我需要它跟随前一个窗口,所以如果用户将窗口移动到右上角,新窗口也应该在右上角。
-
@i486 我的意思是它可以是任何窗口,而不是同一个应用程序
-
如果您希望在特定位置打开窗口,那么您必须使用 WindowStartupLocation.Manual 并设置 Left 和 Top 属性。完全由您决定 Left 和 Top 需要是什么,“上一个窗口”太模糊了。如果它是先前打开的现有窗口,那么您需要对该窗口的引用。如果它是以前打开的窗口但现在关闭了,那么您需要一个变量。
-
换句话说 - 您必须在每次移动窗口后保存新位置(例如在注册表/ HKCU中),然后在启动时恢复最后一个位置。