Architect's Log

I'm a Cloud Architect. I'm highly motivated to reduce toils with driving DevOps.

マークアップでメニュー項目をコマンドに結び付ける

アプリ実行

起動


[保存]メニュークリック


ソースコード

App.xaml
<Application x:Class="WpfApplication7.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml">
</Application>
MainWindow.xaml
<Window x:Class="WpfApplication7.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:l="clr-namespace:WpfApplication7"
        Title="MainWindow" Height="350" Width="525">
    <DockPanel LastChildFill="False">
        <Menu DockPanel.Dock="Top">
            <MenuItem Header="ファイル(_F)">
                <MenuItem Header="保存(_S)">
                    <MenuItem.Command>
                        <l:SaveCommand />
                    </MenuItem.Command>
                </MenuItem>
            </MenuItem>
        </Menu>
    </DockPanel>
</Window>
SaveCommand.cs
using System;
using System.Windows;
using System.Windows.Input;

namespace WpfApplication7 {
    class SaveCommand : ICommand {
        public bool CanExecute(object parameter) {
            return true;
        }

        public event EventHandler CanExecuteChanged;

        public void Execute(object parameter) {
            MessageBox.Show("保存されました。");
        }
    }
}