我刚开始使用WPF
浏览器应用程序。
我想处理浏览器的Before Close事件,那么我将如何处理该事件?
答案 0 :(得分:2)
如果我理解你的问题,你可以:
<强>更新强>
对不起,刚刚回来..
示例:
yourControl.Unloaded += (s, e) =>
{
// some code here
e.Handled = true;
};
答案 1 :(得分:1)
我找到了this解决方案。
在App.xaml.cs文件中:
private void Application_Onexit(object sender, ExitEventArgs e)
{
//write your code in here!
}
在App.xaml文件中:
<Application x:Class="(yourclasss)"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Startup="Application_Startup"
Exit="Application_Onexit"
ShutdownMode="OnLastWindowClose"
StartupUri="startup.xaml">
所以基本上需要设置ShutdownMode属性才能使其工作。
然后在app.xaml.cs中添加event
:
public static event EventHandler UnloadPageWorkaround;
public void Application_Onexit(object sender, ExitEventArgs e)
{
UnloadPageWorkaround.Invoke(null, null);
}
然后在相关页面上:
private void Page_Loaded(object sender, RoutedEventArgs e)
{
WPFBrowser.App.UnloadPageWorkaround += new EventHandler(DoMySpecialPageCleanupStuff);
}
void DoMySpecialPageCleanupStuff(object sender, EventArgs e)
{
//do cleanup
}
唯一的问题是,您无法阻止应用程序退出。
希望它有所帮助。