protected override void OnExecuted(CommandExecutorExecutedEventArgs args)
        {
            var commandNode = args.CommandNode;

            //更新当前命令节点,只有当前命令树节点不是叶子节点并且为空命令节点
            if (commandNode != null && commandNode.Children.Count > 0 && commandNode.Command == null)
            {
                this.Current = commandNode;
            }

            base.OnExecuted(args);
        }
        protected override void OnExecuted(CommandExecutorExecutedEventArgs args)
        {
            var last = args.Context.Expression;

            //从执行器的命令表达式中找出最后一个命令表达式
            while (last != null && last.Next != null)
            {
                last = last.Next;
            }

            //查找表达式中最后一个命令节点
            var node = this.Find(last.FullPath);

            //更新当前命令节点,只有命令树节点不是叶子节点并且为空命令节点
            if (node != null && node.Children.Count > 0 && node.Command == null)
            {
                this.Current = node;
            }

            //调用基类同名方法
            base.OnExecuted(args);
        }