WPF - Caixa de Diálogo

Todos os aplicativos independentes têm uma janela principal que expõe algumas funcionalidades e exibe alguns dados sobre os quais o aplicativo opera por meio de uma GUI. Um aplicativo também pode exibir janelas adicionais para fazer o seguinte -

  • Exibir algumas informações específicas para os usuários
  • Reúna informações úteis dos usuários
  • Ambos exibem e coletam informações importantes

Exemplo

Vamos dar um exemplo para entender o conceito de Caixa de Diálogo. Em primeiro lugar, crie um novo projeto WPF com o nomeWPFDialog.

  • Arraste um botão e uma caixa de texto da Caixa de ferramentas.

  • Quando o usuário clica neste botão, ele abre outra caixa de diálogo com os botões Sim, Não e Cancelar e exibe uma mensagem “clique em qualquer botão”.

  • Quando um usuário clica em qualquer um deles, esta caixa de diálogo é fechada e mostra uma caixa de texto com as informações do botão que foi clicado.

  • Aqui está o código XAML para inicializar um botão e uma caixa de texto com algumas propriedades.

<Window x:Class = "WPFDialog.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" lick = "ShowMessageBox_Click">
            Show Message Box
      </Button> 
		
      <TextBox Height = "23" HorizontalAlignment = "Left" Margin = "181,167,0,0"  
         Name = "textBox1" VerticalAlignment = "Top" Width = "120" />
   </Grid>
	
</Window>

Aqui está o C# code em que o evento de clique de botão é implementado.

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

namespace WPFDialog { 
   /// <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;
         } 
      } 
   } 
}

Quando você compila e executa o código acima, ele produzirá a seguinte janela.

Quando você clica no botão, outra caixa de diálogo é exibida (conforme mostrado abaixo) que solicita que o usuário clique em um botão.

Caso o usuário clique no botão Sim, ele atualiza a caixa de texto com o conteúdo do botão.