WPF

Tag: WPF/ダイアログ

目次

関連ページ

参考情報

サンプル

簡単ダイアログ

  • 単にOK/Cancelだけが存在するウィンドウ。
    <Window x:Class="ControlDemo.DialogDemo.DialogBasic.DemoDialogWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:ControlDemo.DialogDemo.DialogBasic"
            mc:Ignorable="d"
            Title="DemoDialogWindow" Height="300" Width="300">
        <Grid Margin="10">
            <Grid.RowDefinitions>
                <RowDefinition Height="Auto" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="Auto" />
                <ColumnDefinition Width="*" />
            </Grid.ColumnDefinitions>
            <Button Grid.Row="0" Grid.Column="0" Click="OkButton_Click" Margin="10" Width="80">OK</Button>
            <Button Grid.Row="0" Grid.Column="1" Click="CancelButton_Click" Margin="10" Width="80">Cancel</Button>
        </Grid>
    </Window>
    
  • コード側
    namespace ControlDemo.DialogDemo.DialogBasic
    {
        /// <summary>
        /// DemoDialogWindow.xaml の相互作用ロジック
        /// </summary>
        public partial class DemoDialogWindow : Window
        {
            private DemoDialogWindowVM viewModel = new DemoDialogWindowVM();
            public DemoDialogWindow()
            {
                InitializeComponent();
                this.viewModel = new DemoDialogWindowVM();
                DataContext = viewModel;
            }
    
            private void OkButton_Click(object sender, RoutedEventArgs e)
            {
                DialogResult = true;
            }
    
            private void CancelButton_Click(object sender, RoutedEventArgs e)
            {
                DialogResult = false;
            }
        }
    }
    
    
  • 呼び出し側。
            private void Button_Click(object sender, RoutedEventArgs e)
            {
                DemoDialogWindow dlg = new DemoDialogWindow();
                bool? result = dlg.ShowDialog();
                if (result == true)
                {
                    MessageBox.Show("OK");
                } else
                {
                    MessageBox.Show("NG");
                }
            }
    

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2016-12-17 (土) 15:35:55