• 小说ICommand


        命令第一个用途是将语义以及调用命令的对象与执行命令的逻辑分离开来。

    WPF 命令中的四个主要概念:

      WPF 中的路由命令模型可以分为四个主要概念:命令、命令源、命令目标以及命令绑定:

      命令是要执行的操作。

      命令源是调用命令的对象。

      命令目标是在其上执行命令的对象。

      命令绑定是将命令逻辑映射到命令的对象。

      WPF 中的命令是通过实现 ICommand 接口创建的。ICommand 的 WPF 实现是 RoutedCommand 类。

      WPF 中的主要输入源是鼠标、键盘、墨迹和路由命令。更加面向设备的输入使用 RoutedEvent 来通知应用程序页中的对象已发生了输入事件。

    ICommand接口只要是用于绑定Button等的点击事件,当数据改变的时候,会做出一些相应的通知,

    当继承ICommand接口后,下面的方法则需要实现,它们之间的关系如图所示:

    代码如下:

     1   class manage:ICommand
     2     {
     3         public bool CanExecute(object parameter)
     4         {
     5             throw new NotImplementedException();
     6         }
     7 
     8         public event EventHandler CanExecuteChanged;
     9 
    10         public void Execute(object parameter)
    11         {
    12             throw new NotImplementedException();
    13         }
    14     }

    当界面上有此类事件发生时,它会通知所有的 RoutedCommand 发生 CanExecutedChanged 事件。

      这时,已经绑定了这些 RoutedComamnd 的 CommandSource (主要是各类控件),会调用 RoutedCommand 的 CanExecute 方法来检测是否可执行,并根据返回的结果来设置自己的状态。如,当返回可执行时,作为 CommandSource 的按钮则会设置自己的 IsEnabled 属性为 true。此时,如果用户“点击”了这个 CommandSource 时,它会调用它所绑定的 RoutedCommand 的 Execute 方法。

    在vm中command的绑定代码如下:

    1   <Button Content="登陆" Grid.Column="1" Height="24" HorizontalAlignment="Left" Margin="15,18,0,0" Name="button1" VerticalAlignment="Top" Width="89" Command="{Binding login}" />
  • 相关阅读:
    微信公众号-框架业务
    微信公众号-加解密数据demo坑
    JS进制转换,浮点数相加,数字判断
    lamp环境-编译安装
    批量解压目录下的文件
    设置用户sudo -s拥有root权限
    CentOS 6.5-默认没开启网络连接:开启网络连接
    检查一下是否安装了环境,安装则卸载
    负载均衡-多台机子session不起效:把php.ini中file改为memcache存储
    由json生成php配置文件
  • 原文地址:https://www.cnblogs.com/gyouxu/p/2815518.html
Copyright © 2020-2023  润新知