zoukankan      html  css  js  c++  java
  • 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 中及其的方便。

  • 相关阅读:
    智能网关de_GWD的一次排障经历
    盛唐领土争夺战读后感
    Unreal Open Day游记
    虚幻4随笔7 未知的未来
    虚幻4随笔6 Object和序列化
    虚幻4随笔5 使用中的一些发现
    虚幻4随笔4 从工程开始
    松口气,近一段时间的工作学习情况
    虚幻4随笔 三 从UE3到UE4
    关卡原型制作思路
  • 原文地址:https://www.cnblogs.com/tianya/p/Prism_BindableBase_Commands.html
Copyright © 2011-2022 走看看