Par Thierry Thoua,
lundi, novembre 5 2007.
Lien permanent
WPF
Ceux qui ont déjà écrit du WinForm ont certainement déjà rencontré une demande simple comme "Création d'un dialogue validant telle commande". Il s'agit ni plus ni moins d'un écran de confirmation de validation de ce que l'on aurait encodé au préalable. Ainsi, en WinForm l'appel de la méthode ShowDialog() renvoie en retour à la fermeture de la fenêtre le résultat (une valeur contenue dans l'énumartion DialogResult). Mais qu'en est-il en WPF ?
La méthode ShowDialog() ne renvoie plus une valeur de DialogResult mais un bool?. Par défaut, la valeur renvoyée sera false. Le dialogue est considéré comme annulé si
- on appuie sur ALT+F4
- on clique sur le bouton "Fermer"
- on sélectionne le "Fermer" du menu "Système"
Le code XAML doit contenir IsDefault pour le bouton qui sera exécuté si on appuie sur "entrée". Le IsCancel sera appelé si on a appuyé sur alt+F4 par exemple.
[xml]
<Button IsDefault="True" Click="OnOkClick">OK</Button>
<Button IsCancel="True">Cancel</Button>
Il faut également ajouter du code c# pour gérer la valeur de retour à "true" si on valide le formulaire.
[csharp]
private void OnOkClick(object sender, RoutedEventArgs e)
{
DialogResult = true;
Close();
}