c# - 了解 WPF 窗口事件

标签 c# wpf events

我看到 Windows 有一个 Loaded 事件,但没有 Loading 事件(因为有 ClosingClosed 事件)。

我的预期是 Loaded 事件会在窗口实际显示之前发生。然而,看着 Window Lifetime Events , 它表明 Loaded 事件发生在 Activated 事件之后。

我在 Loaded 事件中放置了一些初始化代码,在窗口显示之后和我的内容出现之前有一段延迟。那么什么是最好的事件处理程序用于应该在显示窗口之前发生的窗口初始化?

最佳答案

您可以覆盖 App.xaml.cs 中的 OnStartup(),并在调用 base.OnStartup(e); 之前执行一些操作。我刚刚检查过,这是在窗口的构造函数之前触发的。

或者,在其 xaml 文件中将窗口的可见性设置为 Hidden,在构造函数中进行初始化,然后在完成后将可见性设置为 Visible。这不会消除延迟,但延迟仅由您的初始化代码正在执行的操作引起,因此除非您采用异步方式,否则这是不可避免的。

关于c# - 了解 WPF 窗口事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37974502/

相关文章:

c# - 无法加载文件或程序集异常

wpf - Caliburn.Micro 我应该使用 Screen 还是 Conductor.AllActive 作为我的父 View

c# - 正确处理内存流(WPF 图像转换)

wpf - MVVM 绑定(bind)命令到上下文菜单项

android - 识别哪个 AlertDialog 触发了 onClick(DialogInterface dialog, int which)

java - 阻止事件在 GWT 中冒泡

c# - 在 UWP 应用程序中制作向导的正确方法?

c# - 如何将 C# Linq 转换为 Vb.net

javascript - mvc 5 中图像未成功上传

c# - 使用属性在事件上使用目标