首页 > 技术文章 > WPF 确认动态加载数据完成

fengbol 2015-09-10 17:04 原文

整个wpf程序是读取xml文件生成的,所以当数量较大而且结构复杂的时候,就会出现显示一个空白(我这里设置了背景色,所以显示黑屏,默认是空白的)的窗口,然后才显示控件。

但现在要求必须在控件显示完成后才做一些操作,最开始是用loaded事件,结果发现不行,因为是UserControl嵌套进Window,又使用UserControl的Loaded事件,还是不行,最后使用了ContentRendered,终于解决了。

解决后有个问题:我看wpf窗口的生命周期是ContentRendered在Loaded之前,为什么这次用ContentRendered可以而Loaded不行呢,是我之前看的资料不对,顺序反了;还是其他的什么原因呢?

先记录一下,回头查查资料再说。

 

今天查了资料,原来ContentRendered是窗口第一次呈现结束后发生的,而Loaded是窗口初始化并且应用了样式和数据绑定后,是窗口呈现之前的最后一个事件。

推荐阅读