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.

War es hilfreich?

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.

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