启动最小化时忽略WindowStartupLocation

时间:2019-05-13 18:42:31

标签: c# .net wpf

(建议的重复项处理以WindowState.Normal开头的窗口。)

如果应用程序具有

WindowStartupLocation = WindowStartupLocation.CenterScreen;

并以

开头
WindowState = WindowState.Minimized;

只有这样

WindowState = WindowState.Normal;

窗口显示在屏幕中央。

除了手动计算屏幕中心之外,还有其他方法可以解决此问题吗?

2 个答案:

答案 0 :(得分:1)

一种选择是启动窗口中心屏幕,但在将其实际显示在屏幕上之前将其最小化,如下所示:

WindowStartupLocation = WindowStartupLocation.CenterScreen;
SourceInitialized += (s, e) => WindowState = WindowState.Minimized;

在设置窗口位置之后但在显示之前,会引发SourceInitialized事件。

答案 1 :(得分:0)

不,没有。就像该属性所暗示的那样,它是一个启动位置,而不是在WindowState的每次转换中都应用的位置。一旦显示,就可以计算。