WPF 中 Loaded 和 Closing 窗口事件

在 WPF 中,LoadedClosing 是两个常用的窗口事件。下面是对这两个事件的详细解释和示例说明:

  1. Loaded 事件:
    • Loaded 事件在窗口(或其他可视元素)加载完成并准备好进行显示时触发。
    • Loaded 事件中,您可以执行初始化操作、加载数据、设置初始状态等。
    • 通常用于在窗口显示之前进行准备工作。

示例:

csharp 复制代码
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        Loaded += MainWindow_Loaded;
    }

    private void MainWindow_Loaded(object sender, RoutedEventArgs e)
    {
        // 在窗口加载完成后执行的操作
        // 例如,加载数据、设置初始状态等
    }
}

在上述示例中,MainWindow_Loaded 方法是 Loaded 事件的处理程序。在窗口加载完成后,该方法会被调用,并在其中执行相应的操作。

  1. Closing 事件:
    • Closing 事件在窗口即将关闭时触发。
    • Closing 事件中,您可以执行清理操作、保存数据、取消关闭操作等。
    • 通常用于在窗口关闭之前进行必要的处理。

示例:

csharp 复制代码
public partial class MainWindow : Window
{
    public MainWindow()
    {
        InitializeComponent();
        Closing += MainWindow_Closing;
    }

    private void MainWindow_Closing(object sender, CancelEventArgs e)
    {
        // 在窗口关闭前执行的操作
        // 例如,保存数据、执行清理操作等

        MessageBoxResult result = MessageBox.Show("是否确定关闭窗口?", "确认关闭", MessageBoxButton.YesNo);
        if (result == MessageBoxResult.No)
        {
            // 取消窗口关闭操作
            e.Cancel = true;
        }
    }
}

在上述示例中,MainWindow_Closing 方法是 Closing 事件的处理程序。在窗口即将关闭时,该方法会被调用,并在其中执行相应的操作。在示例中,它会显示一个确认框,询问用户是否确定关闭窗口。如果用户点击 "No",则通过设置 e.Cancel = true 来取消窗口关闭操作。


总结:Loaded 事件在窗口加载完成后触发,用于执行初始化操作;Closing 事件在窗口即将关闭时触发,用于执行清理操作或取消关闭操作。这两个事件提供了在窗口生命周期中重要的时间点执行代码的机会。

相关推荐
甜甜不吃芥末2 小时前
Windows 应用程序的 UI 框架:WPF、WinUI 3 和 UWP的差异区别
windows·ui·wpf
界面开发小八哥6 小时前
界面组件DevExpress WPF中文教程:Grid - 如何检查节点?
ui·.net·wpf·界面控件·devexpress·ui开发
❀always❀1 天前
深入浅出分布式限流(更新中)
分布式·wpf
深漂阿碉2 天前
WPF打包exe应用的图标问题
wpf
三千道应用题2 天前
WPF学习笔记(26)CommunityToolkit.Mvvm与MaterialDesignThemes
wpf
SEO-狼术4 天前
DevExpress WPF Crack, DevExpress WPF v25.1
wpf
小老鼠爱大米4 天前
C# WPF - Prism 学习篇:搭建项目(一)
c#·wpf·prism
博睿谷IT99_4 天前
Hadoop 分布式存储与计算框架详解
wpf
qq_392397126 天前
Redis常用操作
数据库·redis·wpf
三千道应用题6 天前
WPF学习笔记(25)MVVM框架与项目实例
wpf