#author("2016-12-17T15:35:55+09:00","default:wikiwriter","wikiwriter")
[[WPF]]

&tag(WPF/ダイアログ);
*目次 [#y3d8209c]
#contents
*関連ページ [#jd1f360a]
*参考情報 [#ya261292]


*サンプル [#qce16247]

**簡単ダイアログ [#t30ccc16]
-単にOK/Cancelだけが存在するウィンドウ。
#pre{{
<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>
}}
-コード側
#pre{{

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

}}
-呼び出し側。
#pre{{
        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