wpf 窗口激活事件顺序

读wpf文档时,发现了一句话,说的是

When a window is first opened, the Loaded andContentRendered events are raised only after theActivated event is raised. With this in mind, a window can effectively be considered opened when ContentRendered is raised.

根据本人拙劣的外语才能,这句话的意思是说只有当Activated事件发生后,Loaded和ContentRendered事件才会发生,并且只有当ContentRendered事件发生后,窗口才会被认为是打开的状态。

对此我产生了疑惑,若真是这样,假如设置窗口属性ShowActivated为false,窗口启动后未被激活,那么窗口的内容就不会被绘制,岂不是变成白板了。我于是做了个测试,设置ShowActivated为false,启动窗口后发现窗口是被绘制了,并且Loaded和ContentRendered事件都发生了。与我读到的文档不符,但是合理。

但是我又做了个测试,设置窗口属性ShowActivated为true,此时事件的发生顺序和文档描述就一致了,原来是若ShowActivated为false,程序启动时会略过Activated事件。

展开阅读全文

没有更多推荐了,返回首页