Window.loaded在窗口完全加载之前触发

Orl*_*iam 10 wpf

我有这个代码:
Window w = // something
w.Loaded += // some code to take a screenshot of the window
w.Show();

Loaded事件在窗口完全加载之前触发,我得到这个图像: 窗口截图

我可以在屏幕截图Thread.Sleep之后w.Show()和之前添加一个或类似的东西,但我需要为数百个窗口运行这段代码.
我的问题是:当窗口满载时是否会发生另一个事件?或某种方式来实现这一点,而无需让线程进入睡眠状态.

谢谢

Nik*_*vić 25

展望对象生存活动在MSDN文章中,你可以找到:

Loaded事件在最终渲染之前引发,但在布局系统计算出所有必要的渲染值之后.Loaded需要包含元素的逻辑树是完整的,并连接到提供HWND和渲染表面的表示源.

你应该尝试一些不太适合你需要的替代活动.您应该按以下顺序尝试:

请注意,这些事件可能会在窗口的生命周期内多次触发,因此请记住这些事件.

WPF是数据驱动的UI架构,以我们习惯于WinForms的方式工作并不是很愉快.作为一个比我更聪明的人,曾经说过,WPF让艰难的事情变得微不足道.