wpf 实现快捷键

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 >

 

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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值