diff options
author | Lluis Sanchez <lluis@xamarin.com> | 2013-12-04 00:02:01 +0400 |
---|---|---|
committer | Lluis Sanchez <lluis@xamarin.com> | 2013-12-04 00:02:01 +0400 |
commit | 189e4ce8368fa3e8669d196fa40242f8d1f482af (patch) | |
tree | c7f887620a9ad5fe0928d03ffc324ad14d3b07ac /Xwt.WPF | |
parent | 69796cae181c18599d42ee0964018c8c463442b2 (diff) | |
parent | 94c669a2e9a33b1fd96cfb4e3c22631d73ea0ddd (diff) |
Merge branch 'close-window-fixes'
Conflicts:
Testing/GtkTestRunner.csproj
Testing/WpfTestRunner.csproj
Diffstat (limited to 'Xwt.WPF')
-rw-r--r-- | Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs b/Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs index be4bf082..738d6b28 100644 --- a/Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs +++ b/Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs @@ -69,6 +69,11 @@ namespace Xwt.WPFBackend Window.Close ();
}
+ public void Close ()
+ {
+ Window.Close ();
+ }
+
public System.Windows.Window Window {
get { return window; }
set { window = value; }
@@ -241,12 +246,13 @@ namespace Xwt.WPFBackend case WindowFrameEvent.CloseRequested:
window.Closing += ClosingHandler;
break;
+ case WindowFrameEvent.Closed:
+ window.Closed += ClosedHandler;
+ break;
}
}
}
-
-
public virtual void DisableEvent (object eventId)
{
if (eventId is WindowFrameEvent) {
@@ -264,10 +270,19 @@ namespace Xwt.WPFBackend case WindowFrameEvent.CloseRequested:
window.Closing -= ClosingHandler;
break;
+ case WindowFrameEvent.Closed:
+ window.Closing -= ClosedHandler;
+ break;
}
}
}
+ private void ClosedHandler (object sender, EventArgs e)
+ {
+ if (!InhibitCloseRequested)
+ Context.InvokeUserCode (eventSink.OnClosed);
+ }
+
void BoundsChangedHandler (object o, EventArgs args)
{
Context.InvokeUserCode (delegate () {
|