1. 程式人生 > >自定義WPF關閉視窗事件觸發的函式

自定義WPF關閉視窗事件觸發的函式

背景:

例如我在點選視窗關閉按鈕時候要執行的函式有一個,名為

Window_Closing

那麼我需要在介面控制元件初始化後新增到Closing中

public SerialOption()
        {

            InitializeComponent();
            this.Closing += Window_Closing;
            
            
        }

Closing是關閉視窗執行前,這一事件觸發的函式可以取消關閉視窗的操作

Closed是關閉視窗Closing執行後,僅僅是視窗關閉後所執行的函式並不能取消操作視窗

應用例子1:

我需要關閉視窗並儲存一個文字框內的文字到檔案

private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            saveUserOption();
            e.Cancel = false;
                

        }


應用例子2:

2我需要在關閉視窗時候確認是否真的要關閉視窗

 private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            if(MessageBox.Show("是否要關閉?", "確認", MessageBoxButton.YesNo) == MessageBoxResult.Yes)
            {
                e.Cancel = false;
                saveUserOption();
            }
            else
            {
                e.Cancel = true;
            }
            
            
                
        }