2016-07-19 9 views
0

Ich habe bereits schließen Ereignis auf Fenster, die Nachricht angezeigt, wenn meine Validierung schief geht, aber ich möchte Fenster mit X-Taste auf der Oberseite schließen und er tut das gleiche meine Nachricht zeigt, wie dies zu vermeiden und Fenster auf X-Taste schließen, kann ich Closing Event mit dieser Schaltfläche umgehen Ich mache keine MVVM-Anwendung?Schließen des Fensters mit Schließen (x) -Taste Wenn ich bereits Closing Event gefeuert habe?

+2

Vollbremsungen, wo sind sie? –

+0

Sie können die gesamte Frage nicht ändern, nachdem sie gestellt und beantwortet wurde. Bitte fragen Sie einen anderen. Sie sollten auch eine Antwort akzeptieren, wenn es Ihnen geholfen hat (indem Sie auf das graue V unterhalb der Punktzahl klicken). –

+0

Sie haben mich geschlossen, weil meine Frage nicht nützlich für die Gemeinschaft ist, die ich nicht für 6 Monate fragen kann? – Jhony

Antwort

1

Sie können das Ereignis Closing tatsächlich verwenden, um eine Überprüfung durchzuführen. Dieses Ereignis wird ausgelöst, sobald das Fenster geschlossen wird, entweder durch Aufrufen von Close(), mithilfe der Schaltfläche "X" zum Schließen oder durch Drücken der Taste Alt + F4. Dieses Ereignis kann auch abgebrochen werden, wodurch das Fenster geöffnet bleibt.

Zum Beispiel:

class MyWindow : Window 
{ 
    protected override void OnClosing(CancelEventArgs e) 
    { 
     base.OnClosing(e); 

     e.Cancel = !IsValid(); // your validation code 
    } 
} 
+0

private void Dv_Closing (Objektabsender, CancelEventArgs e) {if (Valuta.HasErrors || Valuta == null) {Valuta.OnDone (neues Valuta.Done ("Informationen sind nicht gültig")); e.Cancel = true;} Ich habe mein Nachrichtenereignis erhöht, wenn Property Fehler hat oder wenn er Nullwert hat und dann meine Nachricht – Jhony

+0

Es ist das gleiche - Sie können entweder mit dem Ereignis (mit + = oder von XAML) haken oder überschreiben virtuelle Methode. –

+0

Ich machte Fehler vergessen zu schreiben 'neue Valuta.DoneEventArgs (" myMessage ");' anstelle von 'neuen Valuta.Done (" myMessage ");' – Jhony

Verwandte Themen