zoukankan      html  css  js  c++  java
  • WPF-命令-基础知识

    命令模型的主要元素:

    1、命令

    2、命令绑定:命令连接到相关的应用程序逻辑

    3、命令源:命令源触发命令,

    4、命令目标:应用程序逻辑。

    ----------------------------------------------------------------

    ICommand接口

    命令模型的核心是System.Windows.Input.ICommand接口。

    复制代码
    public interface ICommand
    {  
        event EventHandler CanExecuteChanged; //当命令状态改变时,引发该事件。
        
        bool CanExecute(object parameter); //此方法返回命令状态,如果命令可用则返回true,不可用则返回false。
        
        void Execute(object parameter); //定义在调用此命令时要调用的方法。
    }
    复制代码

    该接口包含两个方法和一个事件:

    void Execute(object parameter);

    bool CanExecute(object parameter);

    event EventHandler CanExecuteChanged;

    Execute()方法包含应用程序任务逻辑。

    CanExecute()方法返回命令的状态;如果命令可用,返回true;如果不可用,返回false。

    命令状态改变时,引发CanExecuteChanged事件。对于使用命令的任何控件,这是指示信号,表示它们应当调用CanExecute()方法检查命令的状态。

    --------------------------------------------------------------------------------------------------------

    RoutedCommand类

    创建自己的命令时,不会直接实现ICommand接口;而是使用System.Windows.input.RoutedCommand类,该类自动实现了ICommand接口。RoutedCommand类是WPF中唯一实现了ICommand接口的类。所有WPF命令都是RoutedCommand类及其派生类的实例。

    RouteCommand类不包含任何应用程序逻辑,只代表命令,只含有命令本身的功能,所有RoutedCommand对象的功能相同。

    RouteCommand类为事件冒泡和隧道添加了一些额外的基础结构。

    RouteCommand类私有地实现了ICommand接口,并添加了ICommand接口方法的不同版本。

    public void Execute(object parameter, IInputElement target){}

    public bool CanExecute(object parameter, IInputElement target){}

    RoutedCommand类还引入三个属性:命令名称(Name属性)、包含命令的类(OwnerType)以及触发命令的按键或鼠标操作。

    --------------------------------------------------------------------------------------------------------------------------

    RoutedUICommand类

    RoutedUICommand类继承自RoutedCommand类(实际上WPF的所有预先构建的命令都是RoutedUICommand对象)。

    RoutedUICommand类只增加了Text属性,该属性是为了显示命令的文本。按钮的文本可以使用命令的Text属性,相同命令显示相同的文本。

    ------------------------------------------------------------------------------------------------------------------

    命令库

    WPF通过5个静态类的静态属性提供:

    1、ApplicationCommand:通用命令,剪切板命令(Copy、Cut、Paste),文档命令(New、Open、Save、Save As、Print)等。

    2、NavigationCommand:导航命令,基于页面的应用程序设计的一些命令(BrowseBack、BrowseForward和NextPage)等。

    3、EditingCommand:文档编辑命令,

    4、ComponentCommands:该类提供了由用户界面组建使用的命令。

    5、MediaCommands:该类提供了一组用于处理多媒体的命令。

  • 相关阅读:
    js弹出框、对话框、提示框、弹窗总结
    GIT本地免密配置
    SpringMVC 框架的搭建及基本功能的实现
    win10调用局域网内xp系统上的打印机
    JSP页面之间互相传值
    Spring MVC 框架的架包分析,功能作用,优点
    hibernate_Restrictions用法
    服务器中配置多个Tomcat及内存溢出配置
    破解navicat
    如何重装mysql8及初次修改密码
  • 原文地址:https://www.cnblogs.com/snake1118/p/12107234.html
Copyright © 2011-2022 走看看