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