/// <summary> /// 执行生成命令的核心逻辑。 /// </summary> /// <param name="context"></param> private static void DoGenerate(CommandAutoUIContext context) { //使用分组算法进行分组,并为每个组创建对应的控件生成器 //注意:如果是单独的Command,一样生成一个单独的“组” var grouping = new GroupOperation { Context = context }; var groups = grouping.GroupCommands(); //对于每一个命令组,开始生成控件,并添加到上下文对象中。 foreach (var group in groups) { var generator = group.Generator; generator.CreateControlToContext(); } //根据分组生成的控件,也都加入到容器中。 context.AttachGroupedItems(); }