WPF - 对话框控件
所有独立应用程序都有一个主窗口,该窗口公开一些功能并显示应用程序通过 GUI 进行操作的一些数据。 应用程序还可以显示附加窗口来执行以下操作 −
- 向用户显示一些特定信息
- 从用户那里收集有用的信息
- 显示和收集重要信息
示例
我们通过一个例子来理解对话框的概念。 首先,创建一个名为 WPFDialog 的新 WPF 项目。
从工具箱中拖动一个按钮和一个文本框。
当用户单击此按钮时,它会打开另一个包含"是"、"否"和"取消"按钮的对话框,并在其上显示一条消息"单击任意按钮"。
当用户单击其中任何一个时,此对话框将关闭并显示一个文本框,其中包含所单击按钮的信息。
以下是用于初始化具有某些属性的按钮和文本框的 XAML 代码。
<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>
这里是实现按钮单击事件的C# 代码。
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;
}
}
}
}
当您编译并执行上述代码时,将产生以下窗口。
当您单击该按钮时,它会显示另一个对话框(如下所示),提示用户单击按钮。
如果用户单击"是"按钮,则会使用按钮内容更新文本框。

