Frage

Ich rufe Application.Current.Shutdown() von einer Klasse, die XAML-Fenster mit ObjectDataProvider gebunden ist, aber die Anwendung ist nicht geschlossen. Kann mir jemand zu verstehen, warum helfen? Meine Anwendung schließt nicht vollständig nach meinem Hauptfenster geschlossen ist, ist es nicht von Task-Manager der Prozess-Liste ausgeblendet wird.

War es hilfreich?

Lösung

Haben Sie irgendwelche Threads erstellt Hintergrundverarbeitung zu tun? Wenn Sie haben, stellen Sie sicher, dass die .IsBackground Eigenschaft auf sie setzen, oder sie können die App weiterlaufen

Andere Tipps

Versuchen Environment.Exit(0) statt

Vergessen Sie nicht, diese hinzufügen:

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

Hope, das hilft.

Wenn Sie mehrere Fenster oder Dialoge in Ihrer Anwendung haben, müssen Sie jedes explizit schließen.

Schließen Dialoge mit:

  

_myDialog.Close ();

Schließen Sie alle Fenster:

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

Ich hatte das gleiche Problem, das Bewerbungsverfahren nicht stoppen, obwohl die Anwendung geschlossen wird.

In meinem Fall öffnete ich ein Fenster von einem Background (Code unten)

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

instanziiert das Fenster, bevor Sie die Background laufen scheint nicht das Problem zu sein, aber durch die Zeile Löschen der Anwendung korrekt geschlossen

Ich öffne mein Fenster aus dem Background aber mit dem Haupt Thread (Code unten)

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

Hoffe, es hilft.

hatte ich ein Problem, wo die Anwendung würde auch nicht heruntergefahren, wenn Hauptfenster geschlossen wurde. Es stellte sich heraus, dass ich hatte ausblenden () auf dem Splash-Screen statt Close getan (), so war es immer noch im Hintergrund lauern halten die Anwendung am Leben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top