commandBinding 的命令
<Window x:Class="WpfApplication1.Window29"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="Window29" Height="278" Width="398">
    <Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="24" />
            <RowDefinition Height="4" />
            <RowDefinition Height="24" />
            <RowDefinition Height="4" />
            <RowDefinition Height="24" />
            <RowDefinition Height="4" />
            <RowDefinition Height="*" />
        </Grid.RowDefinitions>
        <!--命令和命令参数-->
        <TextBlock  HorizontalAlignment="Left" Name="textBlock1" Text="Name:" VerticalAlignment="Center" Grid.Row="0"/>
        <TextBox x:Name="txtName" Margin="60,0,0,0" Grid.Row="0"></TextBox>
        <Button Content="New Teacher" Grid.Row="2" Command="New" CommandParameter="Teacher"></Button>
        <Button Content="New Student" Grid.Row="4" Command="New" CommandParameter="Student"></Button>
        <ListBox Grid.Row="6" x:Name="lbInfos">
            
        </ListBox>
       
    </Grid>
    <!--为窗体添加CommandBinding-->
    <Window.CommandBindings>
        <CommandBinding Command="New" CanExecute="CommandBinding_CanExecute" Executed="CommandBinding_Executed">
            
        </CommandBinding>
    </Window.CommandBindings>
</Window>
----------------------------------------------------------------------------------------------------------------------------------------
public partial class Window29 : Window
    {
          public Window29()
          {
              InitializeComponent();
          }
  private void CommandBinding_CanExecute(object sender, CanExecuteRoutedEventArgs e)
          {
                if (string.IsNullOrEmpty(txtName.Text))
                {
                    e.CanExecute = false;
                }
                else
                {
                      e.CanExecute = true;
                }
                //路由终止,提高系统性能
                e.Handled = true;
        }
private void CommandBinding_Executed(object sender, ExecutedRoutedEventArgs e)
          {
                if (e.Parameter.ToString() == "Student")
                {
                      this.lbInfos.Items.Add(string.Format("New Student:{0} 好好学习,天天向上。",txtName.Text));
                }
                else if(e.Parameter.ToString()=="Teacher")
                {
                      this.lbInfos.Items.Add(string.Format("New Teacher:{0} 学而不厌,诲人不倦。", txtName.Text));
                }
                //路由终止,提高系统性能
                e.Handled = true;
          }
    }

commandBinding 的命令的更多相关文章
- WPF 通过CommandBinding捕获命令
		
RoutedCommand与业务逻辑无关,业务逻辑是通过CommandBinding来实现 using System; using System.Collections.Generic;using S ...
 - WPF学习之深入浅出话命令
		
WPF为我们准备了完善的命令系统,你可能会问:"有了路由事件为什么还需要命令系统呢?".事件的作用是发布.传播一些消息,消息传达到了接收者,事件的指令也就算完成了,至于如何响应事件 ...
 - WPF命令
		
WPF的命令是经常使用的,在MVVM中,RelayCommand更是用得非常多,但是命令的本质究竟是什么,有了事件为什么还要命令,命令与事件的区别是什么呢?MVVM里面是如何包装命令的呢?命令为什么能 ...
 - WPF Demo19 命令、UC
		
命令系统的基本元素和关系WPF命令系统的组成要素:A.命令(command):WPF命令实际上就是实习了ICommand接口的类.平时使用最多的就是RoutedCommand类.B.命令源(comma ...
 - WPF中的命令与命令绑定(二)
		
原文:WPF中的命令与命令绑定(二) WPF中的命令与命令绑定(二) 周银辉在WPF中,命令(Commandi ...
 - WPF中的命令与命令绑定(一)
		
原文:WPF中的命令与命令绑定(一) WPF中的命令与命令绑定(一) 周银辉说到用户输入,可能我们更多地会联想到 ...
 - WPF命令绑定 自定义命令
		
WPF的命令系统是wpf中新增加的内容,在以往的winfom中并没有.为什么要增加命令这一块内容.在winform里面的没有命令只使用事件的话也可以实现程序员希望实现的功能.这个问题在很多文章中都提到 ...
 - 命令——WPF学习之深入浅出
		
WPF学习之深入浅出话命令 WPF为我们准备了完善的命令系统,你可能会问:“有了路由事件为什么还需要命令系统呢?”.事件的作用是发布.传播一些消息,消息传达到了接收者,事件的指令也就算完成了,至于 ...
 - WPF 使用附加属性增加控件属性
		
使用附加属性增加控件属性,使得这个附加属性在使用的时候没有局限性,可以在任何的控件中使用它来增加所需要的属性,使得控件的属性使用起来非常灵活 一.自定义附加属性 using System; using ...
 
随机推荐
- 使用Nginx将请求转发至Google Analytics实现后端数据统计
			
前言 Google Analytics 加载缓慢是本博客在国内访问缓慢的原因之一.虽然通过使用大公司的 ga.js 的 CDN ,可以很大程度上加快加载 ga.js 文件的速度( ga.js 的更新频 ...
 - scrapy设置自己的headers referer字段
			
1.在middlewares中添加自己的新类: class Mylei(object): def process_request(self,request,spider): referer=reque ...
 - Lesson 12 Life on a desert island
			
Lesson 12 Life on a desert island desert island ['dezət 'ailənd] n. 荒岛 uninhabited island coral isla ...
 - 多项式求值问题(horner规则)——Python实现
			
# 多项式求值(Horner规则) # 输入:A[a0,a1,a2...an],x的值 # 输出:给定的x下多项式的值p # Horner迭代形式实现 1 # 在此修改初值 2 A = [2, 6 ...
 - Discuz 7.x/6.x 全局变量防御绕过导致代码执行
			
地址 http://192.168.49.2:8080/viewthread.php?tid=13&extra=page%3D1 安装成功后,找一个已存在的帖子,向其发送数据包,并在Cooki ...
 - 5G时代,视频会议的未来
			
过去,2G打开了了移动互联网天下,3G促成了即时通信,诞生了QQ.微信等巨头,4G 带来了短视频兴起,字节跳动等公司崛起.2.3.4G的出现促成了移动互联网10年繁荣.而5G的出现,也会促成至少10年 ...
 - 为什么说使用 Linux 系统学习 OpenGL 更方便
			
前言 上一篇随笔介绍了我的电脑,同时也介绍了 Ubuntu 20.10 系统的安装和美化.这一篇,我将正式开始 OpenGL 之旅.使用 Ubuntu 来进行开发,不仅仅只是因为我对 Linux 桌面 ...
 - 正则表达式-固定XML格式提取内容
			
(?<=(<(?<a>([A-Za-z]*?))>)).*?(?=(</\k<a>>))
 - vue的项目初始化
			
1.创建文件 blog 2.下载安装node mongoose 3.(1)vue创建后端项目文件 vue create admin (2)vue创建前端项目文件 vue create web (3)新 ...
 - 基于Gitea搭建属于自己的Git服务
			
作者:IT王小二 博客:https://itwxe.com 一.搭建环境和前提 搭建环境: 操作系统:CentOS7.6 Docker版本:docker-ce-18.09.9 Lsky Pro版本:1 ...