免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > 各类编程 > 浅谈WPF中的命令(5)

浅谈WPF中的命令(5)

时间:2012-01-22 19:46来源:未知 整理:寂涯网络 点击:

我们在Executed事件处理程序的开始处下一个断点,然后单步跟入。

 
 

得到的结果如下:

sender是主窗体。

 

ExecutedRoutedEventArgs的Source属性就是命令目标。

 
 

但是,当我们运行的时候,我们发现字体变成蓝色的并不是文本框,而是按钮,为什呢?

我们仔细阅读一下MSDN文档及相关说明就知道了,因为我们没有设置Target,所以,默认的是当前获得焦点的元素将成为命令目标。

下面我们改一个上面的XAML让Button的CommandTarget指向第二个文本框。

  1. <Button x:Name="btnTest" Grid.Row="1"  
  2.        Margin="80,5,80,0" Height="25" Content="执行命令"  
  3.        Command="{x:Static c:MainWindow.MyCommand}"  
  4.        CommandTarget="{Binding ElementName=txt02}"/>  

现在运行一下,可以发现,点击按钮后,第二个文本框的前景色就变成蓝色了。

 
 

CanExecute事件和Executed事件都是路由事件,当然,RouteCommand类也包含遂道事件,至于什么是路由事件,什么是遂道事件,不在本文讲述的范围之中。

以路由事件为例,下面我们来做第二个示例。这个示例,窗体上有一个StackPanel,里面包含一个按钮,同时,把CommandBinding添加到该StackPanel上,而该StackPanel里面再嵌套一个DockPanel,同样,把同一个命令也添加到DockPanel上,DockPanel里面再包含一个Canvas,但是Canvas不添加CommandBinding,然后,在Executed事件处理程序中分别输出引发事件的类型,命令目标类型和目标的Name属性的值。

 

[XAML]

本页地址 http://www.jybase.net/biancheng/20120122758.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com