在WPF中是否有"所有儿童装载"活动

Sha*_*owe 33 .net c# wpf

我正在侦听Page的加载事件.该事件首先触发,然后所有孩子发起他们的负载事件.我需要一个在所有孩子都已加载时触发的事件.那存在吗?

buc*_*ley 51

我听到你了.我也错过了WPF中的开箱即用解决方案.

有时您希望在加载所有子控件后执行一些代码.

把它放在父控件的构造函数中

Dispatcher.BeginInvoke(DispatcherPriority.Loaded, new Action(() => {code that should be executed after all children are loaded} ));
Run Code Online (Sandbox Code Playgroud)

到现在为止帮了我几次.


con*_*tor 12

Loaded是所有孩子过后发生的事件Initialized.AfterLoad据我所知,没有事件发生.如果可以的话,将子项的逻辑移动到Initialized事件中,然后Loaded在它们全部初始化之后发生.

请参阅MSDN - 对象生命周期事件.

  • 一个答案怎么能有7个赞成,如果它不正确?只有2个赞成票的巴克利的答案完美无缺. (5认同)