我需要删除一些特定文件,然后用户关闭 WPF 中的程序。所以我从这里尝试了 MDSN 代码http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx http://msdn.microsoft.com/en-us/library/system.windows.application.exit.aspx这边走:
该代码位于此处App.xml.cs
public partial class App : Application
{
void App_Exit(object sender, ExitEventArgs e)
{
MessageBox.Show("File deleted");
var systemPath = System.Environment.GetFolderPath(
Environment.SpecialFolder.CommonApplicationData);
var _directoryName1 = Path.Combine(systemPath, "RadiolocationQ");
var temp_file = Path.Combine(_directoryName1, "temp.ini");
if (File.Exists(temp1_file))
{
File.Delete(temp1_file);
}
}
}
// App.xaml
<Application x:Class="ModernUIApp1.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
ShutdownMode="OnExplicitShutdown"
Exit="App_Exit">
<Application.Resources>
首先,它不会删除文件,其次,在我按下退出按钮后,该程序仍保留在进程中(这真的很奇怪)。这段代码不会给出任何错误。最后没有显示MessageBox
那么这里有什么问题吗?
我想他就是找不到这个功能。
这很简单:
将“退出”属性添加到应用程序标记
<Application x:Class="WpfApplication4.App"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
StartupUri="MainWindow.xaml"
Exit="Application_Exit">
</Application>
并在“代码隐藏”中处理它
private void Application_Exit(object sender, ExitEventArgs e)
{
// Perform tasks at application exit
}
当应用程序关闭或 Windows 会话结束时,将触发 Exit 事件。它在 SessionEnding 事件之后触发。您无法取消 Exit 事件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)