WPF: cuadro de diálogo
Todas las aplicaciones independientes tienen una ventana principal que expone algunas funciones y muestra algunos datos sobre los que opera la aplicación a través de una GUI. Una aplicación también puede mostrar ventanas adicionales para hacer lo siguiente:
- Mostrar información específica a los usuarios
- Recopile información útil de los usuarios
- Ambos muestran y recopilan información importante
Ejemplo
Tomemos un ejemplo para comprender el concepto de cuadro de diálogo. En primer lugar, cree un nuevo proyecto WPF con el nombreWPFDialog.
Arrastre un botón y un cuadro de texto desde la Caja de herramientas.
Cuando el usuario hace clic en este botón, abre otro cuadro de diálogo con los botones Sí, No y Cancelar y muestra un mensaje "haga clic en cualquier botón".
Cuando un usuario hace clic en cualquiera de ellos, este cuadro de diálogo se cierra y muestra un cuadro de texto con la información del botón en el que se hizo clic.
Aquí está el código XAML para inicializar un botón y un cuadro de texto con algunas propiedades.
<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>
Aquí está el C# code en el que se implementa el evento de clic de botón.
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;
}
}
}
}
Cuando compile y ejecute el código anterior, producirá la siguiente ventana.
Cuando hace clic en el botón, muestra otro cuadro de diálogo (como se muestra a continuación) que solicita al usuario que haga clic en un botón.
En caso de que el usuario haga clic en el botón Sí, actualiza el cuadro de texto con el contenido del botón.