zoukankan      html  css  js  c++  java
  • 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;}
                         )
                     );
            }
        }
    }
  • 相关阅读:
    使文字背景透明
    文件拷贝
    鼠标选取图象的实现
    刷新整个画布
    将区域的颜色取反
    用API处理位图
    用TImageList动态画透明图片
    将bmp文件转换为jpg文件
    解决phpmyadmin-1800秒超时链接失效问题
    Linux下解压命令大全
  • 原文地址:https://www.cnblogs.com/xh831213/p/1772066.html
Copyright © 2011-2022 走看看