WPF 中 Loaded 和 Closing 窗口事件

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

  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 事件在窗口即将关闭时触发,用于执行清理操作或取消关闭操作。这两个事件提供了在窗口生命周期中重要的时间点执行代码的机会。

相关推荐
samble14 小时前
从零搭建半导体设备上位机(二):Prism + DryIoc,五个工程与区域导航怎么串起来
wpf·prism·dryioc
一条闲鱼_mytube15 小时前
分布式 ID 生成方案:雪花算法与号段模式
分布式·算法·wpf
她说彩礼65万16 小时前
WPF Prism代码走读
wpf
光泽雨4 天前
动画生命周期
c#·wpf
nap1175 天前
WPF 中常用的 LINQ 语句
wpf
做个文艺程序员8 天前
MQ第12篇:AI原生消息架构演进:从MQ到事件驱动的全链路设计
架构·消息队列·wpf·事件驱动架构·ai-native·cqrs
donk131410 天前
React Native for OpenHarmony 实战:三方库 react-native-circular-action-menu 的鸿蒙化适配指南
javascript·分布式·react native·react.js·wpf·harmonyos
donk131411 天前
React Native for OpenHarmony 实战:三方库 react-native-step-indicator 的鸿蒙化适配指南
分布式·react native·react.js·wpf·harmonyos
He BianGu11 天前
【笔记】WPF中RenderOptions类的详细功能
笔记·wpf