Socket 简易静态服务器 WPF MVVM模式(二)
command类
标准来说,command会有三种模式,委托命令 准备命令 附加命令
1.DelegateCommand
2.RelayCommand
3.AttachbehaviorCommand
我这个写的是委托命令。
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input; using 简易静态服务器.Models; namespace 简易静态服务器.Commands { //实现接口 public class MainCommand : ICommand { public event EventHandler CanExecuteChanged { add { CommandManager.RequerySuggested += value; } remove { CommandManager.RequerySuggested += value; } } private Func<object,bool> CanExecuteEx; private Action Exctue; public MainCommand(Action Exectue,Func<object,bool>CanExcetue) { Exctue = Exectue ?? throw new ArgumentNullException("erro"); CanExecuteEx = CanExcetue; } public bool CanExecute(object parameter) { var temp = CanExecuteEx(parameter); return temp; } public void Execute(object parameter) { Exctue?.Invoke(); } } }
至于使用哪种,就看你是否用的方便与否了