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

  • 相关阅读:
    Balanced Binary Tree
    Swap Nodes in Pairs
    Reverse Nodes in k-Group
    Reverse Linked List II
    Remove Nth Node From End of List
    Remove Duplicates from Sorted List II
    Remove Duplicates from Sorted List
    Partition List
    Merge Two Sorted Lists
    【Yii2.0】1.2 Apache检查配置文件语法
  • 原文地址:https://www.cnblogs.com/tianya/p/Prism_BindableBase_Commands.html
Copyright © 2011-2022 走看看