• Prism BindableBase 和 Commands 的介绍


    Prism.Mvvm: 主要包含 BindableBase 实现数据字段绑定,并有更新通知。

    建议先建个基类继承 BindableBase ,然后其他类继承基类,及方便以后有公共属性或方法的使用,也可以方便替换 Prism.Mvvm .

    代码例子如下:

      public  class BaseModelView: BindableBase

    {

       ….

      private bool _isValid=true;

            public  bool IsValid

            {

                get

                {            

                    return _isValid ;

                }

                set

                {

                    if (value != _isValid)

                    {

                        _isValid = value;

                        this.RaisePropertyChanged("IsValid");

                    }

                  

                }

            }

    }

      Prism.Commands: 主要包含 DelegateCommand, CompositeCommand 。DelegateCommand 主要和  Command 配合使用。Command 可以绑定定义好的 DelegateCommand 。

    DelegateCommand 定义如下:

     

    方式1:

      public ICommand ClickCmd

            {

                get {

                    return new DelegateCommand(() =>

                    {

                        ……

                    });

                }

            }

     

    方式2:

     

    public DelegateCommand<object> SubmitCommand { get; private set; }

    this.SubmitCommand = new DelegateCommand<object>(this.Submit, this.CanSubmit);

      private void Submit(object parameter)

            {

     

    // 方法体

    }

     

    private bool CanSubmit(object parameter)

            {

                Return true;

            }

      这是主要的方法定义

     

    CompositeCommand:就是将多个 DelegateCommand 组合到一起调用:

    private readonly CompositeCommand saveAllCommand;

    public DelegateCommand<object> SaveProductsCommand { get; private set; }

    public DelegateCommand<object> SaveOrdersCommand { get; private set; }

     

    this.saveAllCommand = new CompositeCommand();         this.saveAllCommand.RegisterCommand(SaveProductsCommand);         this.saveAllCommand.RegisterCommand(SaveOrdersCommand);

     

    有注册事件,就有取消事件:

    saveAllCommand.UnregisterCommand(cmd);

     理解了 BindableBase 和 Command 就可以在小型的项目中使用 Prism.mvvm 了,就可以体会到数据绑定在wpf 中及其的方便。

  • 相关阅读:
    [20141124]sql server密码过期,通过SSMS修改策略报错
    [20141121]无法通过powershell读取sql server性能计数器问题
    深入解析Windows操作系统笔记——CH3系统机制
    深入解析Windows操作系统笔记——CH2系统结构
    [MySQL Reference Manual] 8 优化
    [20140928]创建连接到MySQL的连接服务器
    [20140829]spinlock导致cpu居高不下
    Percona XtraBackup User Manual 阅读笔记
    [MySQL Reference Manual] 7 备份和恢复
    [Linux 存储管理] LVM结构
  • 原文地址:https://www.cnblogs.com/tianya/p/Prism_BindableBase_Commands.html
Copyright © 2020-2023  润新知