XAML - Boîte de dialogue

Toutes les applications autonomes ont une fenêtre principale qui expose certaines fonctionnalités et affiche certaines données sur lesquelles l'application fonctionne via son interface graphique. Une application peut également afficher des fenêtres supplémentaires pour effectuer les opérations suivantes -

  • Pour afficher des informations spécifiques aux utilisateurs.
  • Pour recueillir des informations utiles auprès des utilisateurs.
  • Pour afficher et collecter des informations importantes.

Exemple

Jetons un œil à l'exemple suivant. Dans la fenêtre principale, il y a un bouton et une zone de texte. Lorsque l'utilisateur clique sur ce bouton, il ouvre une autre boîte de dialogue avec les boutons Oui, Non et Annuler et affiche un message qui invite l'utilisateur à cliquer sur un bouton.

Lorsque l'utilisateur clique sur un bouton, la boîte de dialogue actuelle se ferme et affiche une zone de texte avec les informations «sur quel bouton a été cliqué».

Voici le code XAML pour créer et initialiser un bouton et une zone de texte avec quelques propriétés -

<Window x:Class = "XAMLDialog.MainWindow" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   Title = "MainWindow" Height = "350" Width = "604"> 
	
   <Grid> 
      <Button Height = "23" 
         Margin = "100" 
         Name = "ShowMessageBox" 
         VerticalAlignment = "Top" 
         Click = "ShowMessageBox_Click">Show Message Box</Button>
			
      <TextBox Height = "23" 
         HorizontalAlignment = "Left" 
         Margin = "181,167,0,0" 
         Name = "textBox1" 
         VerticalAlignment = "Top" 
         Width = "120" /> 
   </Grid> 
</Window>

Vous trouverez ci-dessous le code C # pour implémenter un événement de clic de bouton.

using System; 
using System.Windows; 
using System.Windows.Controls;

namespace XAMLDialog {
   /// <summary> 
      /// Interaction logic for MainWindow.xaml 
   /// </summary> 
	
   public partial class MainWindow : Window {
      public MainWindow() { 
         InitializeComponent(); 
      } 
      private void ShowMessageBox_Click(object sender, RoutedEventArgs e) { 
         string msgtext = "Click any button"; 
         string txt = "My Title"; 
         MessageBoxButton button = MessageBoxButton.YesNoCancel;
         MessageBoxResult result = MessageBox.Show(msgtext, txt, button);

         switch (result) { 
            case MessageBoxResult.Yes: 
               textBox1.Text = "Yes"; 
               break;
            case MessageBoxResult.No: 
               textBox1.Text = "No"; 
               break; 
            case MessageBoxResult.Cancel: 
               textBox1.Text = "Cancel"; 
               break; 
         }
      }
   }
}

Lorsque vous compilez et exécutez le code ci-dessus, il produira la sortie suivante -

Lorsque vous cliquez sur le bouton, il affiche une autre boîte de dialogue comme indiqué ci-dessous qui invite l'utilisateur à cliquer sur un bouton. Maintenant, cliquez sur le bouton Oui.

Il met à jour la zone de texte avec le contenu du bouton.