Xaml-dialogs

提供:Dev Guides
移動先:案内検索

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

上記のコードをコンパイルして実行すると、次の出力が生成されます-

ダイアログボックス出力

ボタンをクリックすると、下に示すように、ユーザーにボタンをクリックするよう求める別のダイアログボックスが表示されます。 ここで、[はい]ボタンをクリックします。

ダイアログボックス1

ボタンの内容でテキストボックスを更新します。

テキストボックス