Wie erhalte ich System.Windows.ShowDialog () ‚true‘ zurück?
Frage
Wie komme ich System.Windows.ShowDialog()
'true' zurück?
Ich bin ein wenig neu in diesem. System.Windows.ShowDialog
Rückkehr Typ ist bool
? Es wird angenommen, true
zurückzukehren, wenn Sie Submit
getroffen, und false
wenn Sie Cancel
getroffen. Aber ich bin nicht sicher, wie zu bestimmen, welche Button
ist die offizielle Submit-Button.
EDIT: Über einen entsprechenden Hinweis, ich bin gespannt, wie es null zurückkehren kann.
Lösung
http://msdn.microsoft.com/ en-us / library / system.windows.window.showdialog.aspx
Showdialog gibt eine Nullable <(Of <(T>)>) Booleschen Wert, der angibt, ob die Aktivität wurde angenommen oder abgesagt. Der Rückgabewert ist die Wert der Dialogresult-Eigenschaft vor einem Fenster schließt (siehe Dialogresult).
Grundsätzlich entscheiden Sie, indem Sie den Wert der Dialogresult Einstellung, nicht durch einen bestimmten Knopf schlagen - Sie entscheiden, was die Taste funktioniert
.Andere Tipps
In WPF, stellen Sie den Button.IsDefault Eigenschaft auf true festlegen, dass ein Knopf ist die Schaltfläche „Senden“ für ein Fenster. Ich bin nicht 100% sicher, dass dies das Fenster schließt mit einem Dialogresult true machen. Wenn es nicht der Fall ist, brauchen Sie nur das Click-Ereignis zu behandeln thusly:
this.DialogResult = true;
Bearbeiten
Ebenso können Sie die Taste verwenden. IsCancel Eigenschaft hat eine Schaltfläche „abbrechen“ -Knopf für ein Formular.
Edit 2
Ich glaube, der Grund, Showdialog nullable ist, ist, dass, da es null ist los, bis das Formular abgeschickt wird oder abgebrochen, könnten Sie für die testen, ob Sie den Dialog in einem Hintergrundthread zu beobachten waren. Ich habe nicht versucht, aber es scheint wie ein logischer Grund, warum sie einen dritten „unbekannt“ (null) Zustand die Eigenschaft einführen würden.
Wenn Sie setzen Dialogresult true Showdialog true zurückgibt, wenn Sie Dialogresult auf false Showdialog gibt false zurück gesetzt, wenn der Dialog ohne Einstellung Dialogresult (der Benutzer klickt auf das rote X in der rechten oberen Ecke) geschlossen ist Showdialog null zurück.
Einstellung IsDefault auf true bewirkt, dass die Taste, um ein wenig anders und Pressen zu sehen geben wird „Klick“ auf diese Schaltfläche.
Wenn Sie IsCancel auf true die ESC-Taste wird "Klick" auf diese Schaltfläche eingestellt.