найти контроль по имени с помощью linq - PullRequest
1 голос
/ 25 мая 2011

Привет, люди, возможно ли найти элемент управления по его имени через Linq?

Я могу выполнить итерацию по всей коллекции для каждого

foreach (RibbonTab t in testRibbon.CommandTabs)
                    {
                        if (t.Name == tab.Name)
                        {
                            blnFound= true;

                        }
                    }

Идея состоит в том, чтобы сохранить память. Я создаю вкладки ленты Telerik динамически, и я хочу видеть, есть ли вкладка, тогда не создавайте ее, также я хочу проверить ленту, если у нее есть определенные RadRibbonBarGroup и RadButtonElement по имени, так же как для ленты, поэтому я не делаю дубликаты. *

Извините, если я немного усложнил.

Ответы [ 2 ]

3 голосов
/ 25 мая 2011
bool found = testRibbon.CommandTabs.Cast<RibbonTab>().Any(t => t.name == tab.Name);
0 голосов
/ 25 мая 2011

Да, это возможно с Linq-to-WindowsForms.См. Следующую статью:

http://www.codeproject.com/KB/linq/LinqToTree.aspx#linqforms

Вы можете найти все элементы управления с данным именем, например так:

var namedControls= this.Descendants()
                       .Where(ctrl => ctrl.Name="NameToFind");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...