【Prism】MEF版Commanding
引言
接下来的是Commanding Demo的改造.
DelegateCommand
WPF本身提供了一个RoutedCommand,然而没什么卵用.在Prism框架中提供了个更人性化的ICommand的实现--DelegateCommand,如下
public class ArticleViewModel : NotificationObject
{
private readonly ICommand showArticleListCommand; public ArticleViewModel(INewsFeedService newsFeedService,
IRegionManager regionManager,
IEventAggregator eventAggregator)
{
this.showArticleListCommand = new DelegateCommand(this.ShowArticleList);
} public ICommand ShowArticleListCommand
{
get { return this.showArticleListCommand; }
}
}
CompositeCommand
CompositeCommand是Prism提供的一个组合式命令实现.它可以在子命令都可用的情况下同时执行多个子命令.应用情况不是很多,但是可以了解一下.如下
public class MyViewModel : NotificationObject
{
private readonly CompositeCommand saveAllCommand; public ArticleViewModel(INewsFeedService newsFeedService,
IRegionManager regionManager,
IEventAggregator eventAggregator)
{
this.saveAllCommand = new CompositeCommand();
this.saveAllCommand.RegisterCommand(new SaveProductsCommand());
this.saveAllCommand.RegisterCommand(new SaveOrdersCommand());
} public ICommand SaveAllCommand
{
get { return this.saveAllCommand; }
}
}
示例源码
http://pan.baidu.com/s/1sjuWkod
小结
更多的Commandi用法可以在官方文档Prism 4.0的Chapter 9中查阅.
【Prism】MEF版Commanding的更多相关文章
- Prism&MEF构建开发框架 (一)
Shell框架XECA shell.xaml主要起到是一个容器或壳的作用 <Window x:Class="XECA.Shell" xmlns="http ...
- 【Prism】MEF版HelloWorld
引言 Pirsm框架是由微软P & P小组设计的,用于构建组合式的WPF企业级应用,支持两个IOC容器,分别为Unity和MEF.官方地址为http://compositewpf.codepl ...
- 【Prism】MEF版UIComposition
引言 UIComposition原版Demo在PrismV5的解压包里面.原Demo用了.net4.5版本的DLL,我改成.net4.0的. RegionContext 这个Demo比之前那几个示例大 ...
- 【Prism】MEF版EventAggregation
引言 第三弹是EventAggregation Demo的改造. EventAggregation EventAggregation事件聚集是Prism框架中的通信实现.它可以在松散的模块或者窗体之 ...
- Prism&MEF构建开发框架 (三)
菜单管控模块EntityFW 菜单的加载采用MEF技术,程序实现思路: 1 .主菜单加载页面MainMenuView.xaml指向MenuRegion 2. 菜单Item点击及内容加载,采用订阅模式, ...
- 一步步实现 Prism + MEF(一)--- 搭建框架
第一步:构建一个名为Bootstrapper的类作为引导程序. class Bootstrapper : MefBootstrapper { } 第二步:在MainWindow窗体中添加一个Coont ...
- Prism MEF example
Related Attributes These attributes are under namespace System.ComponentModel.Composition Import The ...
- 一步步实现 Prism + MEF(二)--- 绑定命令
Prism程序集为我们提供了DelegateCommand命令,使用该命令可实现窗口直接绑定.第一步:在ViewModel中定义一个DelegateCommand属性. public Delegate ...
- Prism&MEF构建开发框架
系统框架构想效果图 平台简单由左侧菜单和右侧内容区以及顶部系统和用户信息区构成 菜单根据系统模块动态加载 右侧,根据左侧选中菜单动态加载子模块,子模块集合以tab选项卡方式布局 系统模块划分为Shel ...
随机推荐
- zookeeper单机伪集群配置
一.配置 1.在 opt 目录下建一个文件夹 zk,分别把zookeeper 安装包复制三份,命令为zookeeper-0 zookeeper_1 zookeeper_2 2.分别在每一个zook ...
- Unity3D游戏开发从零单排(六) - 人物运动及攻击连击
提要 今天要实现的是一个简单人物控制器. 包括用w,a,s,d来控制人物上下左右跑动,鼠标左击发出连招,都是基于老的lagacy的动画.尽管unity3d自带有charactorcontroller, ...
- 004-mysql explain详解
一.使用 使用explain + 查询语句 二.解释说明 1)id列[执行顺序] id列数字越大越先执行,如果说数字一样大,那么就从上往下依次执行,id列为null的就表是这是一个结果集,不需要使用它 ...
- Java基础—Java运行原理
Java程序运行原理 在Java中引入了虚拟机(JVM,Java Virtual Machine)的概念,即在机器和编译程序之间加入了一层抽象的虚拟的机器.虚拟机在任何平台上都提供给编译程序一个的共同 ...
- Android:日常学习笔记(8)———探究UI开发(3)
Android:日常学习笔记(8)———探究UI开发(3) 详解四种基本布局 前言 布局定义用户界面的视觉结构,如Activity或应用小部件的 UI.您可以通过两种方式声明布局: 在 XML 中声明 ...
- OC自动释放池autoreleasepool介绍
自动释放池的机制是:它使得应用在创建新对象时,系统能够有效地管理应用所使用的内存. @autoreleasepool { statements } 在创建新对象时,并且系统未启动ARC特性,那么在使用 ...
- Android相机实时自动对焦的完美实现
https://zhidao.baidu.com/question/873328177698804372.html Android相机实时自动对焦的完美实现 http://blog.csdn.net/ ...
- /usr/lib/update-notifier/updates-available
/usrb/update-notifier/update-motd-updates-available: 49: /usrb/update-notifier/update-motd-updates- ...
- 【转载】openwrt框架分析
文章出处:http://blog.csdn.net/kingvenll/article/details/27545221 这次讲讲openwrt的结构. 1. 代码上来看有几个重要目录package, ...
- JavaScript笔记02——基本语法(包括函数、对象、数组等)
Doing Math & Logic Conditional & Looping Functions Objects Arrays Doing Math & Logic 1.J ...