void InitializeMainSubMenu(MenuItem menuItem, MenuMD md, IInputElement commandTarget) { Reinitialize(menuItem); List<MenuItemGroupMD> groups; var guid = new Guid(md.Metadata.Guid); bool b = guidToGroups.TryGetValue(guid, out groups); Debug.Assert(b); if (b) { var ctx = new MenuItemContext(guid, true, new GuidObject(guid, null), null); var firstMenuItem = menuItem.Items.Count == 1 ? menuItem.Items[0] as MenuItem : null; var allItems = CreateMenuItems(ctx, groups, commandTarget, firstMenuItem, false); foreach (var i in allItems) { if (firstMenuItem != i) menuItem.Items.Add(i); } } }