WPF —— lCommand命令实例

首先在标签页面设置一个Button按钮

XML 复制代码
<Button Width="100" Height="40" Content="测试" ></Button>

1 创建一个类 继承于ICommand这个接口,

这个接口一般包含三部分:

俩个方法:一个判断指令是不是能执行的方法 一个有返回值的方法返回bool类型,为true能执行,为false不能执行

另外一个方法指的是接受指令调用的函数

和一个事件:通知指令状态发生变化的事件

cs 复制代码
public class MyCommand : ICommand

2 需要实现这个接口的三个成员变量:CanExecute(能不能执行)、Execute执行、CanExecuteChanged状态发生变化事件

判断指令能不能执行的方法

//true 指令可以执行,在初次绑定到标签时候和执行方法之前都会调用一次

cs 复制代码
 public bool CanExecute(object p)
 {
    // MessageBox.Show("1111");
     return true; 
 }

命令执行的时候的方法,等同于click绑定f1函数

cs 复制代码
public void Execute(object p)
{
    MessageBox.Show("命令执行了");
}

检查指令可用不可用的状态是否发生变化的状态

public event EventHandler CanExecuteChanged;

3 创建指令对象,并且绑定给标签的Command属性上

cs 复制代码
  m1 = new MyCommand();
this.DataContext = this;

点击测试运行结果如下

相关推荐
多巴胺耐受10 小时前
【WPF】炫酷的科技报警弹窗
科技·c#·wpf
Xin_ye1008613 小时前
C# 零基础到精通教程 - WPF 专题二:数据绑定与 MVVM
开发语言·c#·wpf
Xin_ye1008613 小时前
C# 零基础到精通教程 - WPF 专题一:WPF 入门与 XAML 基础
c#·wpf
qq_4312807014 小时前
生成解决方案将文件生成到根目录或指定文件夹下
wpf
周杰伦fans2 天前
掌握 MVVM Light:.NET 桌面应用开发的 MVVM 利器,掌握 ObservableObject、RelayCommand 和 Messenger
c#·wpf
Ws_2 天前
WPF 面试题 + 参考答案,偏 C# 桌面端开发高频。
开发语言·c#·wpf
LCG元2 天前
现代Web应用高可用架构设计与性能调优实战
前端·wpf
小二·2 天前
向量数据库深度对比:PGVector vs Qdrant vs Milvus vs Chroma(附性能测试数据)
数据库·wpf·milvus
周杰伦fans3 天前
WPF TextBlock 中 Run 元素实战——从密码强度检测到 MVVM 绑定
wpf
largecode4 天前
座机号码认证如何操作?申请热线实名名片,树立统一官方客服形象
linux·sql·华为·c#·.net·wpf·harmonyos