2016-07-04 3 views
2

Dies ist das dritte Beispiel aus dem Application = Code + Markup Buch von Charles Petzold in F # von C# übersetzt, außer dass es aus irgendeinem Grund nicht funktioniert. Beim Beenden sollte das Programm ein Nachrichtenfenster öffnen, in dem ich gefragt werde, ob ich Daten speichern und abbrechen möchte, wenn die Schaltfläche Abbrechen gedrückt wird.Warum wird das OnSessionEnding-Ereignis beim Beenden des Programms nicht ausgelöst?

Ich weiß nicht warum, aber das Programm beendet nur ohne das Meldungsfeld angezeigt, wenn ich Alt+F4 oder klicken Sie auf die X oben rechts im Fenster.

+1

Warum nicht [FsXAML] (https://github.com/fsprojects/FsXaml) + [FsVM] (https://www.nuget.org/packages/FSharp.ViewModule.Core/) oder gar [Gjallarhorn ] (http://reedcopy.github.io/Gjallarhorn/)? –

+0

Wenn Sie gerade begonnen haben, WPF zu verwenden, dann haben Sie vermutlich viele Fragen. Ich würde dir raten, dem [SO Chat] beizutreten (http://chat.stackoverflow.com/rooms/18165/wpf) –

+0

Danke für den Rat. Ich habe in FsXAML nachgeschaut, aber nirgends ist Dokumentation vorhanden, daher kann ich sie nicht verwenden. Tatsächlich sind die meisten UI-Sachen in F #, die ich im Internet gefunden habe, aus meiner Sicht ziemlich fortgeschritten und setzen einige Erfahrungen des Benutzers voraus. Ich habe nie von FsVM oder Gjallarhorn gehört. Ich werde in sie schauen. –

Antwort

2

Der Grund, warum das Ereignis nicht ausgelöst wird, liegt darin, dass SessionEnding nur beim Abmelden oder Herunterfahren des Betriebssystems ausgelöst wird, nicht beim Beenden des Programms. Ich hätte es genauer lesen sollen.

Verwandte Themen