zoukankan      html  css  js  c++  java
  • 一步一步分析Caliburn.Micro框架(序)

    Caliburn.Micro(多数人叫CM)是一个开源的MVVM开发框架,主要应用范围是WPF\Silverlight\WinPhone以Xaml为UI的开发框架.与众多的MVVM框架相比较.个人觉得CM是我用得最习惯最快捷的一个框架.让人的感觉到不会像微软的prism很大很臃肿,又不像MvvmLight轻巧到只有几个文件只能做简单的MVVM功能.

    与我一起用过CM的同事都说这个框架用起来很方便.

    • 直接实例对象然后放到一个WindowsManager的类或.Conductor<IShell>.Collection.OneActive继承类上的特定方法就可以与UI自动绑定(虽然用的是命名约束).
    • UI事件上的绑定.CM简单的封装了System.Windows.Interactivity.dll上的方法从而变得简单操作.(CM的UI事件与通常绑定System.Windows.Input.ICommand不同是直接绑定ViewModel中的方法,也继承System.Windows.Interactivity的多事件)

      扩展属性:

      cal:Message.Attach="DeactivateItem($dataContext, 'true')"

      直接绑定函数DeactivateItem,第一个参数为当前控件的DataContext对象(支持类型 DataContext对象,当前事件的EvnetArge,当前UI,当前控件,当前执行的上下文),第二为bool()

      cal:Message.Attach="[Key Enter] = [EnterPressed]"

      直接绑定键盘的按回车键时触发EnterPressed方法

      cal:Message.Attach="[Event MouseDoubleClick] = [Action ShowView]; [Event Click] = [Action ShowView]"

      对一个对象控件对多个事件绑定指定方法.

    • 通过x:Name这个扩展属性自动与MVVMViewModel层对应的方法或属性自动绑定.

      还有更多功能会将来的文章中一一介绍

      文章系列

      分析.要了解分析构架的当然要准备下了.

      首先为原理.原理就不一一说明了,列出相关的关键字吧.(主要是这原理已经有不少人都写过了.)

      • MVVM原理
      • 正则
      • 反射
      • MEF

      当然CM源代码是不可少的.网址http://caliburnmicro.codeplex.com/下的Source Code标签下mercurial链接会弹出源代码地址.代码管理器为TortoiseHG.如果不想装上这个代码管理器那就直接Download压缩包也行.

      由于CM支持多个平台而我以WPF下的CM方案为分析原型(主要是这段时间在搞个WPF的平台项目)

      下编文章起将与大家一起分析功能,让我们更好的理解设计框架要考虑的问题.让做框架设计师的人与我一起走上框架设计的.

  • 相关阅读:
    关于Java的代理模式
    关于Java串行、并行执行——使用Callable多线程
    关于区域表system_district:省市县街道四级地址表
    关于MongoDB在windows下安装
    关于Eureka 服务注册列表显示IP问题研究
    关于开发APP接口版本不兼容的问题
    关于MySQL创建数据库字符集和数据库排序规则的对比选择
    关于MySQL的行转列
    关于MySQL统计一列中不同值的数量方法
    关于Java 8 forEach
  • 原文地址:https://www.cnblogs.com/DasonKwok/p/2637559.html
Copyright © 2011-2022 走看看