如何在WPF中捕获全局加载事件

时间:2012-01-05 09:12:12

标签: wpf events wpf-controls

对于wpf上的每个UI控件,都有一个“已加载”事件。假设我有一个用户控件,其中包含其他控件列表,例如Combobox。现在,如果我捕获“usercontrol”和“Combobox”的加载事件,则首先发生加载事件的Usercontrol,然后是组合框,这意味着当用户控件已加载时,其子元素可能不是装完了。但是,我想捕获全局加载事件,这意味着只有在成功加载所有控件时才会发生加载事件。请问如何实现这一目标?提前谢谢。

1 个答案:

答案 0 :(得分:0)

没有全局Loaded事件,您声明'首先发生了Usercontrol的加载事件,然后是组合框',这可能是由于您注册这些事件的顺序。你究竟想要实现什么目标?

可能对您有用的其他事件是LayoutUpdated,每次修改可视树时都会触发。您可以注册处理程序,在第一次引发此事件时捕获,然后检查UI状态以确定最初呈现UI的时间。

但是,如果您在UI中执行相当复杂或特殊的操作,通常只需要使用这些技术,例如创建复杂的新控件。对于大多数应用程序,您无需处理这些事件。