通过linq查找子控件

问题描述

| 这是找到功能区控件的代码
bool found = testRibbon.CommandTabs.Cast<RibbonTab>().Any(t => t.name == tab.Name);
现在如何通过名称查找RibbonRab成员的RadRibbonBarGroup 场景是这样的: 我有一个功能区控件,并且从模块中填充了选项卡 在选项卡中我添加RadRibbonBarGroup,在RadRibbonBarGroup内部我添加RibbonButtons 现在,为了防止重复,我需要检查选项卡是否存在,ribonbargroup是否存在,并具有跳过该选项卡和酒吧组的按钮,否则添加按钮..相同的选项卡和酒吧组。 这是达到这种情况的最快方法 我可以通过linq进行操作还是应该为每个女巫进行迭代,这是最好的解决方案。     

解决方法

testRibbon.CommandTabs.Cast<RibbonTab>().Where(t => t.name == tab.Name)
                      .SelectMany(x => x.Groups.Where(g => g.Name == groupName));