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

  • 相关阅读:
    atitit.面向过程的编程语言异常处理 c语言 asp vbs 的try catch 实现
    Atitit.ide代码块折叠插件 eclipse
    Atitit.注重细节还是关注长远??长远优先
    atitit.安全的签名摘要 算法attilax总结
    Atitit.各种 数据类型 ( 树形结构,表形数据 ) 的结构与存储数据库 attilax 总结
    Atitit. 委托的本质 c#.net java php的比较
    Atitit.注册跟个登录功能的实现attilax总结obo
    atitit..sql update语法的词法分析,与语法ast构建
    atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
    Atitit.数据库事务隔离级别 attilax 总结
  • 原文地址:https://www.cnblogs.com/tianya/p/Prism_BindableBase_Commands.html
Copyright © 2011-2022 走看看