WPF - 对话框



所有独立应用程序都有一个主窗口,该窗口显示一些功能并显示应用程序通过 GUI 操作的一些数据。应用程序还可以显示其他窗口以执行以下操作:

  • 向用户显示一些特定信息
  • 从用户那里收集有用的信息
  • 同时显示和收集重要信息

示例

让我们通过一个例子来理解对话框的概念。首先,创建一个名为WPFDialog的新 WPF 项目。

  • 从工具箱中拖动一个按钮和一个文本框。

  • 当用户单击此按钮时,它将打开另一个带有“是”、“否”和“取消”按钮的对话框,并在其上显示消息“单击任意按钮”。

  • 当用户单击其中任何一个按钮时,此对话框将关闭,并在文本框中显示所单击按钮的信息。

  • 以下是初始化带有某些属性的按钮和文本框的 XAML 代码。(此处应插入实际的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# 代码。(此处应插入实际的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;
         } 
      } 
   } 
}

编译并执行上述代码后,将生成以下窗口。(此处应插入窗口截图)

Output of the Dialogbox

单击按钮时,它会显示另一个对话框(如下所示),提示用户单击一个按钮。(此处应插入对话框截图)

Prompts the user to click

如果用户单击“是”按钮,它会使用按钮内容更新文本框。

clicks the button
wpf_controls.htm
广告