整理:WPF中CommandBindings的用法

目的:了解一下CommandBindings、InputBindings、ICommandSource中在WPF中扮演什么样的角色

 

CommandBindings:

将应用程序要执行的功能封装到中间层组件或独立的类中:可以将所有命令统一封装,统一管理,统一调用

定义过程:

    //将所有命令封装在一个类里面
    public class MyCommands
    {
        public static RoutedUICommand MyCommand = new RoutedUICommand();

        public static void DoCommand()
        {
            MyCommand.Execute("erer",null);
        }

    }

说明:定义一个类用来存放所有Binding命令,定义一个MyCommand命令供页面使用

Xaml中注册定义的命令:

 
    
        
        
        
    

Xaml中将命令赋值到需要调用该命令的ICommandSource对象

 
        
            
                
                
            
            

ICommandSource对象 Command="local:MyCommands.MyCommand"  赋值会触发注册的MyCommand命令

注意:

                              Executed="CommandBinding_Executed" 
                        CanExecute="CommandBinding_CanExecute"/>

      Command只能传入静态的命令,并通过Executed、CanExecute注册要实现的事件,不可以{Binding }到ViewModel

 

KeyBinding:

可以直接注册快捷键、鼠标

    
        
    

说明:将快捷键Alt+T注册到命令local:MyCommands.MyCommand上,也可以对Command 执行{Binding}到ViewModel,本质上也是一个ICommandSource对象

 

也可以用在Xaml中这样写


        
        
        
        
    
    
        
        
        
    
    
        
        
        

 

你可能感兴趣的:(C#,WPF)