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, }