WPF - Closing Application

D

Dale Williams

Everyone:

When working with winform applications, you could check the reason for
closing the window. As in this example:
private void MainForm_FormClosing(object sender,
FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (CloseApplication())
Application.Exit();

else
e.Cancel = true;

}
}

Now, e doesn't return a closereason. Is there anyway to check why the
window is closing?

Thanks,
Dale Williams
 
W

Willy Denoyette [MVP]

Dale Williams said:
Everyone:

When working with winform applications, you could check the reason for
closing the window. As in this example:
private void MainForm_FormClosing(object sender,
FormClosingEventArgs e)
{
if (e.CloseReason == CloseReason.UserClosing)
{
if (CloseApplication())
Application.Exit();

else
e.Cancel = true;

}
}

Now, e doesn't return a closereason. Is there anyway to check why the
window is closing?

Thanks,
Dale Williams


Application life cycle is separated from the Window life cycle in WPF.
Application events must be handled by the Application event handlers.
Following snippet sample uses XAML to register the SessionEnding
handler.....


// XAML
<Application....
.....
SessionEnding="App_SessionEnding">

// Code
public partial class App : Application
{
void App_SessionEnding(object sender, SessionEndingCancelEventArgs
e)
{
if(e.ReasonSessionEnding =
...
}

Consult MSDN for more info...

Willy.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top