2022年5月13日【Jiawei_Z】C# WPF命令 Icommand的使用

C# WPF命令 I command

https://www.bilibili.com/video/BV1nY411a7T8?p=7
ICommand教学视频链接
ICommand–是所有命令的核心接口; 使用ICommand进行开发;

常用的的快捷键
快捷键 F12 ---------- 进入函数定义

代码的注释和取消注释
Ctrl + K + C --------- 注释 C#代码和WPF代码
Ctrl + K + U ---------- 取消注释

界面UI XAML 代码

    <Grid>
        <Button Command="{ Binding ShowCommand }"/>
    </Grid>

在主窗体中实现UI和逻辑的关联;

namespace _20220513_I_command
{
    /// <summary>
    /// Interaction logic for MainWindow.xaml
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.DataContext = new MainViewModel(); //--- 关联 UI 和 逻辑功能
        }
    }
}

添加 — 新建两个类文件

类文件1 ------ MainViewModel.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;  // ---------- 添加这个命名空间的引用  2022年5月13日

namespace _20220513_I_command
{
    public class MainViewModel
    {
        public MainViewModel()
        {
            ShowCommand = new MyCommand(Show);
        }

        public MyCommand ShowCommand { get; set; }

        public void Show()
        {
            MessageBox.Show("点击了按钮!");
        }
    }

类文件2 ------ MyCommand.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input; //----------创建一个类之后,添加这个引用 2022年5月13日07:52:32

namespace _20220513_I_command
{
    public class MyCommand : ICommand  //--- 可以按快捷键 F12 看内部情况
    {
        Action executeAction;

        public MyCommand(Action action)
        { 
        executeAction = action;
        }          
        public event EventHandler? CanExecuteChanged;

        public bool CanExecute(object? parameter)
        {
            return true;
        }

        public void Execute(object? parameter)
        {
            executeAction();
        }
    }
}

实现方法2:使用窗体应用开发,添加click事件

    <Grid>
        <Button Click="Button_Click"/> //新建一个事件
    </Grid>

快捷键的使用 : F12 可以直接进入函数体内部
或者 直接去界面进行双击。 进入函数体

  private void Button_Click(object sender, RoutedEventArgs e)
        {
            MessageBox.Show("点击了按钮!");
        }

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

JIAWEI_Z

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值