WPF学习笔记“命令”四:执行命令续

  学习笔记三中,菜单具有能够自动提取命令文本的动能,我们猜想其他ICommandSource类是否具有类似的功能,如Button控件

  目前可以采用两种技术重用命令文本;

一、直接从静态的命令对象中提取文本。XMAL可以使用Static标记扩展;

  <Button Command="Close" Content="{x:Static ApplicationCommands.Close}"/〉//显示Text为Colse  

  该方法的问题在于,它只是调用命令对象的ToString()方法,得到的事命令的名称,而不是命令的文本。对于那些名称包含多个单词的命令,使用文本更好一些,如果一个按钮将

同一个命令使用了两次,从而可能会无意间从错误的命令获取文本;所以有了第二种方式;

 

二、使用数据绑定表达式

  <Button Command="Close" Content="{Binding RelativeSource={RelativeSource Self},Path=Command.Text"/〉//显示Text为Colse 

  因为它绑定到当前元素,获取正在使用的Command对象,并且提取其Text属性 

 

命令的其他功能

一、直接调用命令

  并非只能使用实现了ICommandSource接口的类来触发希望执行的命令。也可以使用Execute()方法直接调用来自任何事件处理程序的方法。这时需要传递一个参数值(或

null引用)和对目标元素引用:

  有待学习的内容

二、自定义控件的命令支持

  有待学习的内容

三、禁用命令

  有待学习的内容

四、命令的局限性

  有待学习的内容

 

posted on 2012-10-07 19:27  紫雨心  阅读(214)  评论(0编辑  收藏  举报

导航