WPF and Silverlight学习笔记(十五):WPF命令(Commands)

WPF中的命令路由与事件路由是两个很让初学者头痛的概念,对于命令路由可 以理解为,系统(WPF)定义了一系列的操作,在应用程序中可以直接使用。例 如,定义一系列菜单,执行对窗体中文本框的复制、剪切、粘贴操作,简单地可 以这样做:

1: <Grid>
2:    <Grid.RowDefinitions>
3:     <RowDefinition  Height="23" />
4:     <RowDefinition  />
5:   </Grid.RowDefinitions>
6:    <Menu Grid.Row="0" Grid.Column="0">
7:     <MenuItem Header="Edit">
8:        <MenuItem x:Name="menuCopy"  Header="Copy"
9:             Command="ApplicationCommands.Copy" />
10:        <MenuItem x:Name="menuCut" Header="Cut"
11:             Command="ApplicationCommands.Cut" />
12:        <MenuItem x:Name="menuPaste"  Header="Paste"
13:             Command="ApplicationCommands.Paste" />
14:      </MenuItem>
15:   </Menu>
16:    <TextBox Grid.Row="1" Grid.Column="0"  x:Name="mainText"
17:        TextWrapping="Wrap" AcceptsReturn="True"  />
18: </Grid>

WPF 中的路由命令模型可以分为四个主要概念:命令、命令源、命令目标以 及命令绑定:

命令是要执行的操作。在本例中命令为 ApplicationCommands.Copy、Cut、Paste

命令源是调用命令的对象。 在 本例中命令源为三个MenuItem控件

命令目标是在其上执行命令的对象。 在本例中命令目标是mainText这个TextBox文本框

命令绑定是将命令逻辑 映射到命令的对象。 在本例中命令绑定到系统定义的对于文本框的“复制 ”、“剪切”、“粘贴”操作、

其四者的关 系如下图所示:

时间: 2024-11-05 17:32:05

WPF and Silverlight学习笔记(十五):WPF命令(Commands)的相关文章

WPF and Silverlight学习笔记(五):WPF应用程序管理

一.WPF应用程序由System.Windows.Application类进行管理 二.创 建WPF应用程序 创建WPF应用程序有两种方式: 1.Visual Studio 和Expression Blend默认的方式,使用App.xaml文件定义启动应用程序 App.xaml文件的内容大致如下: 1: <Application x:Class="WpfApplicationLifeCycle.App" 2: xmlns="http://schemas.microsof

WPF and Silverlight学习笔记(二十五)

WPF and Silverlight学习笔记(二十五):使用CollectionView实现对绑定数据的排序.筛选.分组 在第二十三节,我们使用CollectionView实现了对于绑定数据的导航,除导 航功能外,还可以通过CollectionView对数据进行类似于DataView的排序.筛选 等功能. 一.数据的排序: 使用第二十四节的数据源,查询所有 的产品信息: 1: <Window x:Class="WPF_24.CollectionViewSortData" 2:

WPF and Silverlight学习笔记(十二)

WPF and Silverlight学习笔记(十二):WPF Panel内容模型.Decorator内容模型及其他 一.Panel内容模型 Panel内容模型指从 System.Windows.Controls.Panel继承的控件,这些控件都是容器,可以在内部 承载其他的控件和子容器.Panel内容模型包含的容器有: Canvas DockPanel Grid TabPanel ToolBarO verflowPanel UniformGrid StackPanel ToolBarPanel

WPF and Silverlight学习笔记(七)

WPF and Silverlight学习笔记(七):WPF布局管理之StackPanel.WrapPanel.DockPanel 一.StackPanel StackPanel是以堆叠的方式显示其中的控件 1 .可以使用Orientation属性更改堆叠的顺序 Orientation="Vertical" 默认,由上到下显示各控件 .控件在未定义的前提下,宽度为StackPanel的宽度,高度自动适应控件中内容 的高度 1: <StackPanel Orientation=&q

kvm虚拟化学习笔记(十五)之kvm虚拟机动态迁移

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://koumm.blog.51cto.com/703525/1300783 相比KVM虚拟机静态迁移中需要拷贝虚拟机虚拟磁盘文件,kvm虚拟机动态迁移无需拷贝虚拟磁盘文件,但是需要迁移到的虚拟主机之间需要有相同的目录结构虚拟机磁盘文件,本文这部分内容通过nfs来实现,当然也可以采用GFS2集群文件系统来实现,本文的动态迁移是基于共享存储动态迁移. KVM动态迁移目前有两种,一种是基于

WPF and Silverlight学习笔记(二十九):Brush(1)

在WPF和Silverlight中,Brush是应用很多的一种类型,主要用于填充各种图 形及控件.Brush及其子类位于System.Windows.Media命名空间,其继承关系如 下图所示: 一.SolidColorBrush SolidColorBrush是最简单的一种Brush,包含 一个Color属性,表示单色的画刷,例如使用红色填充一个矩形: 1: <Rectangle Margin="5" Height="50"> 2: <Recta

WPF and Silverlight学习笔记(一):开发环境及参考资料

前一段时间一直很忙很忙,从4月份开始终于有时间学习一些新的东西了.回 头一看,要学习整理的东西太多了:WPF.WCF.WF.Silverlight.JQuery. Ajax.ASP.Net MVC.ADO.Net Entry-想了想,终于决定先学习整理一下 WPF和Silverlight的内容.并与园子里的朋友分享. 笔者的开发环境如 下: 操作系统:Vista+SP1 英文版 开发工具:Visual Studio 2008+SP1英文版 Silverlight 3.0 Beta Silverl

hibernate3学习笔记(十五)|继承映射

这里详细讨论继承映射的3种方式: 1.Table per concrete class 继承关系如下图: 数据表设计如下图: MySQL数据库中执行如下DDL: 1.CREATE TABLE defaultuser (2. id INT(11) NOT NULL auto_increment PRIMARY KEY,3. name VARCHAR(100) NOT NULL default '',4. someProperty VARCHAR(100)5.);6.7.CREATE TABLE p

WPF and Silverlight学习笔记(十六):WPF资源(Resource)(1)

一.什么是资源 通常使用 WPF 资源作为重用通常定义的对象和值的 简单方法.例如定义一种可以复用的单色的Brush对象,按钮的背景及矩形的填 充颜色均使用此Brush: 1: <Window x:Class="WPFResource.WinBasicResource" 2: xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation& quot; 3: xmlns:x="http: