xaml
<Window x:Class="MenuItemCommandDemo.Window1"
xmlns:local="clr-namespace:MenuItemCommandDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<!--添加button 并且指定command的事件 -->
<Button Height="23" HorizontalAlignment="Left" Margin="23,83,0,0" Name="button1" VerticalAlignment="Top" Width="75" Command="ApplicationCommands.Help">f1</Button>
<Button HorizontalAlignment="Left" Margin="23,129,0,110" Name="button2" Width="75" Command="local:CustomCommands.StartProcCommand">ctrl + m</Button>
</Grid>
</Window>
xmlns:local="clr-namespace:MenuItemCommandDemo"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<!--添加button 并且指定command的事件 -->
<Button Height="23" HorizontalAlignment="Left" Margin="23,83,0,0" Name="button1" VerticalAlignment="Top" Width="75" Command="ApplicationCommands.Help">f1</Button>
<Button HorizontalAlignment="Left" Margin="23,129,0,110" Name="button2" Width="75" Command="local:CustomCommands.StartProcCommand">ctrl + m</Button>
</Grid>
</Window>
c#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Diagnostics;
namespace MenuItemCommandDemo
{
//实现类
public static class CustomCommands
{
private static RoutedUICommand startProcCommand;
public static RoutedUICommand StartProcCommand
{
get
{
if (startProcCommand == null)
{
startProcCommand = new RoutedUICommand("StartProc", "StartProc", typeof(Window1), new InputGestureCollection { new KeyGesture(Key.M, ModifierKeys.Control) });
}
return startProcCommand;
}
}
}
//页面类
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
//绑定快捷键
this.CommandBindings.Add
(new CommandBinding
(CustomCommands.StartProcCommand,
(sender, e) => //以下是具体事件内容,可自行编写
{
Process proc = new Process();
proc.StartInfo = new ProcessStartInfo(@"c:\windows\notepad.exe", null);
proc.Start();
},
(sender, e) =>
{e.CanExecute = true;}
)
);
//绑定快捷键
this.CommandBindings.Add
(new CommandBinding
(ApplicationCommands.Help,
(sender, e) => //以下是具体事件内容 ,可自行编写
{
MessageBox.Show("Help!");
},
(sender, e) =>
{e.CanExecute = true;}
)
);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Diagnostics;
namespace MenuItemCommandDemo
{
//实现类
public static class CustomCommands
{
private static RoutedUICommand startProcCommand;
public static RoutedUICommand StartProcCommand
{
get
{
if (startProcCommand == null)
{
startProcCommand = new RoutedUICommand("StartProc", "StartProc", typeof(Window1), new InputGestureCollection { new KeyGesture(Key.M, ModifierKeys.Control) });
}
return startProcCommand;
}
}
}
//页面类
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
//绑定快捷键
this.CommandBindings.Add
(new CommandBinding
(CustomCommands.StartProcCommand,
(sender, e) => //以下是具体事件内容,可自行编写
{
Process proc = new Process();
proc.StartInfo = new ProcessStartInfo(@"c:\windows\notepad.exe", null);
proc.Start();
},
(sender, e) =>
{e.CanExecute = true;}
)
);
//绑定快捷键
this.CommandBindings.Add
(new CommandBinding
(ApplicationCommands.Help,
(sender, e) => //以下是具体事件内容 ,可自行编写
{
MessageBox.Show("Help!");
},
(sender, e) =>
{e.CanExecute = true;}
)
);
}
}
}