Pergunta

Eu estou chamando Application.Current.Shutdown() de uma classe que é obrigado a XAML janelas com ObjectDataProvider, mas a aplicação não está fechando. Alguém pode me ajudar a entender por quê? Meu aplicativo não está fechando completamente depois da minha janela principal é fechada, ele não desaparecer da lista de processos do gerenciador de tarefas.

Foi útil?

Solução

Você criou quaisquer tópicos para fazer processamento em segundo plano? Se você tem, certifique-se de definir a propriedade .IsBackground sobre eles, ou eles podem manter o aplicativo em execução

Outras dicas

Tente Environment.Exit(0) vez

Não se esqueça de acrescentar o seguinte:

private void Window_Closed(object sender, EventArgs e)
{
  Application.Current.Shutdown();
}

Espero que isso ajude.

Se você tem várias janelas ou caixas de diálogo em seu aplicativo, você pode precisar para fechar cada uma delas explicitamente.

Fechar diálogos com:

_myDialog.Close ();

Feche todas as janelas:

foreach(var window in Application.Current.Windows.ToList())
{
    window.Close();
}

Eu tive o mesmo problema, o processo de aplicação não pára embora a aplicação fechado.

No meu caso eu abriu uma janela de um BackgroundWorker (código abaixo)

BackgroundWorker BG = new BackgroundWorker();
BG.DoWork += new DoWorkEventHandler(BG_DoWork);
StockMinWindow MinWindow = new StockMinWindow(null); -------- this is the problem 
BG.RunWorkerAsync();

instanciar a janela antes de executar o BackgroundWorker não parece ser o problema, mas apagando a linha a aplicação fechado corretamente

Eu abro minha janela do BackgroundWorker mas usando a rosca principal (código abaixo)

 View.Dispatcher.BeginInvoke(new Action(delegate()
 {
   StockMinWindow MinWindow = new StockMinWindow(StockMinList);
   MinWindow.Owner = View;
   MinWindow.ShowDialog();
 }));

Hope isso ajuda.

Eu tive um problema em que o aplicativo não iria encerrar mesmo quando a janela principal foi fechada. Descobriu-se que eu tinha feito Hide () na tela inicial, em vez de Close () para que ele ainda estava à espreita no fundo mantendo a aplicação vivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top