Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLluis Sanchez <lluis@xamarin.com>2013-11-14 18:31:01 +0400
committerLluis Sanchez <lluis@xamarin.com>2013-11-14 18:31:01 +0400
commitb2680e123a5de6d44e9515cc10faf491431c122f (patch)
tree1fbdd366d5d0f4c31190bf5c3e2e12550a1c5519 /Xwt.WPF
parent1c9ab98e8c90e080abbc5629a89d0603f88b68a4 (diff)
[WPF] Window close event fixes
Diffstat (limited to 'Xwt.WPF')
-rw-r--r--Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs19
1 files changed, 17 insertions, 2 deletions
diff --git a/Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs b/Xwt.WPF/Xwt.WPFBackend/WindowFrameBackend.cs
index e3c4a8d6..aca54c55 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 () {