zoukankan      html  css  js  c++  java
  • 初学Windows Phone:MVVM Light Toolkit from:http://www.cnblogs.com/lrj525/archive/2012/04/05/2433226.html

    初学Windows Phone:MVVM Light Toolkit

    MVVM Light Toolkit是Silverlight开发中用到的最多的MVVM框架,虽然之前做了一些这方面的开发,但是一直都没有很好的研究,今天就做一个系统的学习,记录备查(主要因为本人E文太烂,看E文太废劲了)。

    MVVM Light Toolkit的最新消息可以参考http://mvvmlight.codeplex.com/

    1.下载安装

    基本要求就不多说了,可以参考:http://www.galasoft.ch/mvvm/installing/   “安装的先决条件”部分。

    如果之前安装过其它版本,要先卸载掉,参考:http://www.galasoft.ch/mvvm/cleaning/

    我安装的是MVVM Light Toolkit V4 beta 1(下载地址:http://mvvmlight.codeplex.com/releases/view/73208),下载完成后进行安装,除把安装路径改成合适的地方外,其它选项都是默认设置。过程如图

    2.相关介绍

    GalaSoft.MvvmLight 类库

    • ViewModelBase 类是ViewModels的基础类,在开发中ViewModls类都要继承自它。
    • Messenger类 用于应用程序的通信。接收者仅接受注册过的消息类型。此外,目标类型可以被指定,用Send<TMessgae,TTarget>(TMessage message)实现,在这种情况下如果接收者类型和目标参数类型匹配信息被传递,message可以是任何对象,可以用特定的消息类型或者创建自己的类型继承自它们。
      1. MessageBase:消息基类,是消息发布者的任何信息。
      2. GenericMessage<T>:一个简单的泛型消息。
      3. NotificationMessage: 用于发送一个string类型通知给接受者。
      4. NotificationMessage<T>:NotificationMessage泛型方工。
      5. NotificationMessage:向接受者发送一个通知,允许接受者向发送者回传消息。
      6. NotificationMessageAction<T>:NotificationMessage的泛型方式。
      7. DialogMessage:发送者(通常是View)显示对话,并且传递调用者得回传结果(用于回调),接受者可以选择怎样显示对话框,可以使是标准的MessageBox也可也是自定义弹出窗口。
      8. PropertyChangedMessage<T>:用于广播一个属性的改变在发送者里,和PropertyChanged事件有完全箱体内各的目的,但是是一种弱联系方式。
    • Command 类在你的应用程序中是最佳的使用方式,可以使用RelayCommand<T>和RelayCommand,很方便的绑定一个执行命令。

     GalaSoft.MvvmLight.Extras 类库可选类

      EventToCommand behavior,允许你绑定任何事件在UI的元素上,必须是一个ICommand。

      DispatcherHelper类,一个轻型类,可以用于多线程编程(异步处理)。

    3.模版

    安装完MVVM light Toolkit后,在新建项目时就会出现各种MVVM的项目模版可选(取决于你是否安装过的平台),如图:

    在新建项时也会有各种模板可用,如图:

    不过需要注意的是,如果新建一个MVVMViewModel(WP7,其它类型没有测试)时需要手工去ViewModelLocator.cs中去注册。

    4.代码片段

    可以使开发者更快的进行开发,不过只在vs中支持。blend中不可用。

    现在总算有了一个初步的了解,新的功能以后慢慢发现。

  • 相关阅读:
    Python中append和extend的区别
    python学习 day19
    python学习 day18
    QT下编写使用for循环动态添加刻选择时间类型的按钮(记录一下)
    QT mingw编译器下使用snap7库与西门子200smart-PLC(网口)通信实现代码
    看着挺胖的大胖猫
    QT添加软键盘后,QDialog设置模态后软键盘没响应解决办法
    QT程序打包在别的电脑上运行提示“api-ms-win-crt-runtime-|1-1-0.dll"可能与您正在运行的Window版本不兼容。。。。。
    Qt使用WM_COPYDATA消息进行进程通信
    离线百度地图,QT添加按钮点击切换卫星地图和街道地图
  • 原文地址:https://www.cnblogs.com/songtzu/p/2671614.html
Copyright © 2011-2022 走看看