1.描述
默认情况下,命令插件可以在所有场景中使用(普通单元格、页面加载、工作流等);如果您希望限制其使用范围,则应该重写GetCommandScope接口。
2.设置限制命令插件的使用范围
例如,SetFocusCommand只能用于普通的单元格、表格中的单元格和页面加载,应重写GetCommandScope,如下所示:
当您在工作流中打开命令对话框时,SetFocusCommand将不再列出。
CommandScope 定义如下:
[Flags]
public enum CommandScope
{
/// <summary>
/// 普通单元格中
/// </summary>
Cell = 1,
/// <summary>
/// 表格中的单元格中
/// </summary>
ListView = 2,
/// <summary>
/// 页面加载中
/// </summary>
PageLoad = 4,
/// <summary>
/// 工作流中
/// </summary>
Workflow = 8,
/// <summary>
/// 通知用命令
/// </summary>
Notification = 16,
/// <summary>
/// 模板命令
/// </summary>
ShareCommand = 32,
/// <summary>
/// 服务器命令
/// </summary>
ServerSide = 64,
/// <summary>
/// 定时任务
/// </summary>
TaskSchedule = 128,
/// <summary>
/// 可以在服务端执行的命令
/// </summary>
ExecutableInServer = ServerSide | TaskSchedule,
/// <summary>
/// 所有集合
/// </summary>
All = Cell | ListView | PageLoad | Workflow | Notification | ShareCommand | ExecutableInServer,
/// <summary>
/// 非通知类
/// </summary>
NoneNotification = Cell | ListView | PageLoad | Workflow | ShareCommand | ExecutableInServer,
}
