You dont need to do that in this way...
define in the child window an event like:
public event EventHandler Closing;
when you create this window in the main window subscribe to it:
Window1 wnd = new Window1();
wnd.Closing += new EventHandler(childClosing);
when closing the child window check if the event is subscribed and raise it:
if (Closing != null) {
Closing(this, new EventArgs());
}
of course you need a childClosing method in the main window:
private void childClosing(object sender, EvenrArgs e) {
/// do your work
}
If you need to pass some data back then you create a class that derives from EvenrArgs and use that instead. But you need a delegate different from Eventhandler like:
class ClosingArgs : EventArgs {
// some property here
}
in the child window
delegate void ClosingEventHandler(object sender, ClosingArgs e);
and
public event ClosingEventHandler Closing;
cheers!