主界面如下:

前台代码:

<Window x:Class="WpfApp1.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:WpfApp1"
        mc:Ignorable="d"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <StackPanel x:Name="stackPanel" Margin="20">
            <Button x:Name="button1" Content="命令测试" />
            <TextBox x:Name="textBoxA" />
        </StackPanel>

</Grid>
</Window>

后台代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;

namespace WpfApp1
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        private RoutedCommand clearCmd = new RoutedCommand("Clear", typeof(MainWindow));

public MainWindow()
        {
            InitializeComponent();
            this.button1.Command = clearCmd;
            this.clearCmd.InputGestures.Add(new KeyGesture(Key.C, ModifierKeys.Alt));//使用快捷键

// 指令命令目标
            this.button1.CommandTarget = this.textBoxA;

// 创建命令绑定
            CommandBinding cb = new CommandBinding();
            cb.Command = this.clearCmd;
            cb.CanExecute += cb_CanExecute;
            cb.Executed += cb_Executed;

this.stackPanel.CommandBindings.Add(cb);

}
        void cb_Executed(object sender, ExecutedRoutedEventArgs e)
        {
            this.textBoxA.Clear();
            e.Handled = true;
        }

void cb_CanExecute(object sender, CanExecuteRoutedEventArgs e)
        {
            if (string.IsNullOrEmpty(this.textBoxA.Text))
                e.CanExecute = false;
            else
                e.CanExecute = true;

e.Handled = true;
        }

}
}

mvvm command的使用案例相关推荐

  1. 使用WPF+MVVM模式的小案例

    WPF+MVVM模式的小案例案例主要的目录结构 下面一步一步建立整个小程序的目录和相应的代码程序. 1.打开VS, 新建项目WPFDemo.Client.CustType(自己可以写自己的程序名称,这 ...

  2. vue.js MVVM模式介绍及案例

    1.vue.js是什么: Vue.js (读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架.与其他重量级框架不同的是,Vue 采用自底向上增量开发的设计.Vue 的核心库只关注视 ...

  3. [Linux] Linux相关系统常用命令command使用及案例

    Linux常用命令及案例分析 基本使用类 打开pdf, 表格,word 文档 基本使用类 Linux常用命令包括: 查看硬件信息命令:ifconfig free fdisk ethtool mii-t ...

  4. 【Android】Android安卓架构MVC、MVP、MVVM之间的区别和联系(图解+案例+源码)

    https://github.com/SETANDGET/AndroidArchitectureDemo 代码 一.问题背景 二.Android安卓架构MVC.MVP.MVVM 1.MVC(Model ...

  5. [最全]Android安卓架构MVC、MVP、MVVM之间的区别和联系(图解+案例+源码)

    一.问题背景 博主最近在准备春招面试中介绍自己简历中Android项目的MVP架构,但是博主发现若自身不彻底弄懂Android安卓架构MVC.MVP.MVVM之间的区别和联系,博主将无法准确地向面试官 ...

  6. Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Scale/Scale的Command)

    Python之tkinter:动态演示调用python库的tkinter带你进入GUI世界(Scale/Scale的Command) 导读 动态演示调用python库的tkinter带你进入GUI世界 ...

  7. Oracle OEM 重建 及 案例 说明

    原文自:http://blog.csdn.net/tianlesoftware/article/details/4702978 一.手工重建EM Oracle 的gridcontrol 由两部分组成: ...

  8. MVVM与DataBinding简单使用

    MVVM与DataBinding简单案例 一.MVVM 1.MVVM是什么 MVVM(Model–View–Viewmodel)是一种软件架构模式. M----->Model层:请求的原始数据 ...

  9. Linux基本常用命令大全(附案例实战)

    目录 1.基本命令 1.1 命令入门 1.1.1 命令提示符详解 1.1.2 命令格式 1.2 获取命令的帮助 1.2.1 查手册&搜索引擎 1.2.2 man 1.2.3 命令 --help ...

最新文章

  1. 基于 WPF + Modern UI 的 公司OA小助手 开发总结
  2. 业务团队如何统一架构设计风格?
  3. 软件开发者面试百问答案,老紫竹研究室出品(已经有64个)
  4. spring+ibatis+注解开发
  5. 文字和表单(checkbox/radio)元素垂直对齐方法,兼容Firefox和IE。
  6. 修改显卡型号软件_电脑一键修改任意CPU型号方法 装X新技能!
  7. 芝加哥大学终身教授:自然科学与社会科学的真正区别
  8. RedHat7如何配置新网卡
  9. 北京某数据中心全年用水量分析
  10. Java excel添加水印
  11. matlab中imresize()函数用法
  12. 企业实战zabbix(7)--结合qqmail(报警信息发给qq用户)
  13. 《激光杂志》投稿经验
  14. 【计算机网络】——通信协议综述(网络协议、网络分层、ifconfige命令行、DHCP与PXE)
  15. 【proc】使用proc_create_data函数在proc下创建节点
  16. VirtualBox Host Only Adapter Error VERR_INTNET_FLT_IF_NOT_FOUND
  17. linux下otrs安装rpm,从源码安装OTRS(Linux、Unix)
  18. 三相逆变 单相/三相逆变器 SPWM
  19. 煤炭行业智能SRM系统:实现供应商可视化管理,提高企业采购效益
  20. 在Java web模板的上进行编写

热门文章

  1. ContentObserver类的使用
  2. jquery 选择时间(小时)区间(二)
  3. CEGUI Lua 编码
  4. 完全命令行.NET开发
  5. 新概念英语(1-9)How is Ema?
  6. Atitit. 脚本语言的断点单步调试的设计与实现 attialx 总结 php 参照java
  7. PHP 语言结构(Language constructs)和函数的区别
  8. tpopela/vips_java
  9. OSPF详解(三):OSPF中的网络类型
  10. Mp3写入专辑图片(Kotlin)