突然发现,Silverlight在OOB模式Closing事件有时会失效,特别是弹出窗口和导航时很容易无效。经测试以下代码可用:
1. 在App.xaml.cs 定义一个全局变量:
Window MainWin;
2. 在Application_Startup写Closing 代码:
private void Application_Startup(object sender, StartupEventArgs e)
{
MainWin = App.Current.MainWindow;
MainWin.Closing += (sss, eee) =>
{
var result = MessageBox.Show(
"确认退出?",
"确认",
MessageBoxButton.OKCancel);
if (result != MessageBoxResult.OK)
eee.Cancel = true;
};
}