1.首先创建以下几个文件
可以在直接下载我上传资源文件
2.建立一个ShowMessageCommand类该类继承ICommand类
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Input;
namespace 委托.ICommands
{
public class ShowMessageCommand : ICommand
{
Action _showMessage;
public event EventHandler CanExecuteChanged;//记录执行的状态
public ShowMessageCommand(Action showMessage)
{
_showMessage = showMessage;
}
public bool CanExecute(object parameter)//能否执行
{
return true;//一般写能够执行,除非特殊业务
}
public void Execute(object parameter)//执行业务逻辑 parameter是前端UI传过来的参数
{
_showMessage();//委托执行被绑定需要执行的方法体
}
}
}
3.建立IndexViewModel类 该类用来定义一个ShowMessageCommand 实体
在这里插入图片描述
该步骤代码!
using Prism.Mvvm;
using System.Windows;
using 委托.ICommands;
namespace 委托.ViewModels
{
public class IndexViewModel : BindableBase
{
public ShowMessageCommand showMessageCommand { get; set; }
public IndexViewModel()
{
showMessageCommand = new ShowMessageCommand(ShowMessage);//将需要运行的逻辑丢给委托
}
public void ShowMessage()
{
MessageBox.Show("该方法被调用");
}
}
}
4.以下是命令的结构图,这样命令相当于抽离为一个模块,单独绑定任意需要执行的方法或者UI控件