Comment puis-je obtenir System.Windows.ShowDialog () pour revenir « vrai »?
Question
Comment puis-je retourner System.Windows.ShowDialog()
'true'?
Je suis un peu nouveau à ce sujet. type de retour d 'est System.Windows.ShowDialog
bool
? Il est censé revenir true
quand vous frappez Submit
, et quand vous frappez false
Cancel
. Mais je ne suis pas sûr de savoir comment désigner qui est le bouton Button
officiel soumettre.
EDIT: Sur le même sujet, je suis curieux de savoir comment il peut renvoyer une valeur NULL.
La solution
http://msdn.microsoft.com/ fr-fr / bibliothèque / system.windows.window.showdialog.aspx
ShowDialog retourne un Nullable <(Of <(T>)>) valeur booléenne qui indique si l'activité a été acceptée ou annulé. La valeur de retour est le valeur de la propriété DialogResult avant qu'une ferme de fenêtre (voir DialogResult).
En gros, vous décidez en définissant la valeur de la DialogResult, pas en appuyant sur un bouton particulier - vous décidez ce que le bouton fait
.Autres conseils
Dans WPF, définissez Button.IsDefault propriété true pour spécifier qu'un bouton est le bouton « soumettre » pour une fenêtre. Je ne suis pas sûr à 100% que cela fera la fenêtre étroite avec un DialogResult de vrai. Si elle ne le fait pas, il vous suffit de gérer son événement Click ainsi:
this.DialogResult = true;
Modifier
De même, vous pouvez utiliser le . propriété de IsCancel d'avoir un bouton soit sur le bouton « annuler » pour une forme.
Edit 2
Je crois que la raison ShowDialog est annulable est que depuis qu'il est nul jusqu'à l'envoi du formulaire ou annulé, vous pouvez tester que si vous regardiez la boîte de dialogue dans un thread d'arrière-plan. Je ne l'ai pas essayé, mais il semble comme une raison logique pour laquelle ils avaient introduit un troisième état « inconnu » (null) à la propriété.
si vous définissez DialogResult true ShowDialog retourne true, si vous définissez DialogResult false ShowDialog retourne false si la boîte de dialogue est fermée sans mise DialogResult (l'utilisateur clique sur le X rouge dans le coin supérieur droit) ShowDialog renvoie null.
Réglage IsDefault true provoquera le bouton pour regarder un peu différent et appuyer sur Entrée « cliquez sur » ce bouton.
Si vous définissez IsCancel true esc Une pression sur "cliquez sur" ce bouton.