Dieses WPF-Programm zeigt ein ContextMenu an, das ein MenuItem mit dem Namen 'Exit' hostet, zusammen mit einem leeren Fenster. Die Auswahl von "Beenden" sollte den Prozess beenden, aber es schließt nur das Window und ContextMenu. Ich möchte dieses Programm nicht gewaltsam beenden, aber es sauber beenden.Application.Shutdown() fehlschlägt von ContextMenu
Warum ruft das Aufrufen von Application.Shutdown() im Click-Ereignishandler das Programm nicht herunter?
using System;
using System.Windows;
using System.Windows.Controls;
class MyApp : Application {
[STAThread]
public static void Main() {
new MyApp().Run();
}
protected override void OnStartup(StartupEventArgs e) {
new Window().Show();
MenuItem menuItem = new MenuItem();
menuItem.Header = "Exit";
menuItem.Click += delegate { Shutdown(); };
ContextMenu contextMenu = new ContextMenu();
contextMenu.Items.Add(menuItem);
contextMenu.IsOpen = true;
}
}
Siehe SO Antwort: http://stackoverflow.com/questions/606043/shutting-down-a-wpf-application-from-app-xaml-cs – VinayC
Was ist Ihr ShutdownMode eingestellt? – Flot2011
Der ShutdownMode ist der Standard OnLastWindowClose. –