• 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 中及其的方便。

  • 相关阅读:
    Linux学习篇(四):学习 gdb
    Linux学习篇(三):学习 gcc
    c#序列化感悟(重点讲讲二进制序列化)
    参数保存随笔
    写程序时try,catch查看报错的行号
    stram流char[]保存,支持中文,Filestram需要先转byte[]才能使用,但是性能更好《转载》
    c#序列化和反序列化《转载》
    如果两个测量设备出现相关性数据问题,且过度像素没区别?(打光效果一致),怎么办
    当Hobject类型出现内存泄漏爆炸增长的问题,怎么处理
    使用gige2500万相机时遇见的问题(条纹以及取图过久)
  • 原文地址:https://www.cnblogs.com/tianya/p/Prism_BindableBase_Commands.html
Copyright © 2020-2023  润新知