XAML - 對話方塊



所有獨立應用程式都有一個主視窗,該視窗公開一些功能和顯示應用程式透過其 GUI 執行的資料。應用程式還可以顯示附加視窗以執行以下操作:-

  • 向用戶顯示一些特定資訊。
  • 從使用者處收集有用資訊。
  • 既顯示又收集重要資訊。

示例

我們來看一下以下示例。在主視窗中,有一個按鈕和一個文字框。當用戶單擊此按鈕時,它會開啟另一個帶有是、否和取消按鈕的對話方塊,並在其上顯示一條訊息,提示使用者單擊一個按鈕。

當用戶單擊一個按鈕時,當前對話方塊將關閉,並顯示一個文字框,其中包含“單擊哪個按鈕”的資訊。

以下是一些屬性的 XAML 程式碼,用於建立和初始化一個按鈕和一個文字框:-

<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>

以下是實現按鈕單擊事件的 C# 程式碼。

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; 
         }
      }
   }
}

當您編譯並執行上述程式碼時,它將產生以下輸出:-

Dialog Box Output

當您單擊該按鈕時,它會顯示另一個對話方塊,如下所示,提示使用者單擊一個按鈕。現在,單擊是按鈕。

Dialog Box 1

它使用按鈕內容更新文字框。

TextBox
xaml_controls.htm
廣告
© . All rights reserved.