using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Serein.Workbench.Avalonia.Commands
{
internal abstract class CommandBase
{
// CanExecuteChanged 事件
public event EventHandler CanExecuteChanged;
///
/// 是否可以执行命令,子类可以重写这个方法来提供具体的可执行条件
///
///
///
public virtual bool CanExecute(object parameter)
{
return true; // 默认实现返回 true,表示命令可以执行
}
///
/// 执行命令,子类可以重写这个方法来实现具体的命令逻辑
///
///
public abstract void Execute(object parameter);
///
/// 用于触发 CanExecuteChanged 事件
///
protected void OnCanExecuteChanged()
{
CanExecuteChanged?.Invoke(this, EventArgs.Empty);
}
}
}