Эта программа WPF отображает ContextMenu, на котором размещается MenuItem с надписью «Выход» вместе с пустым окном. Выбор «Выход» должен завершать процесс, но он закрывает только Window и ContextMenu. Я не хочу принудительно прекращать эту программу, но заканчиваю ее чисто.Application.Shutdown() не выполняется из ContextMenu
Почему вызов Application.Shutdown() в обработчике событий Click не позволяет завершить работу программы?
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;
}
}
См. Этот ответ SO: http://stackoverflow.com/questions/606043/shutting-down-a-wpf-application-from-app-xaml-cs – VinayC
В чем ваш ShutdownMode установлен? – Flot2011
Значение ShutdownMode по умолчанию - OnLastWindowClose. –