Я уверен, что мне не хватает чего-то простого, но должен признаться, что на данный момент я в растерянности.
Я программно добавляю TabItems в свой основной TabControl, по одному для каждой учетной записи, которую пользователь выбирает открыть. Перед созданием и добавлением нового элемента вкладки я хотел бы проверить, есть ли у пользователя уже открытая учетная запись на другой вкладке. Я не хочу, чтобы открывались две одинаковые вкладки.
Вот код, который я написал изначально. Надеюсь, это даст вам представление о том, чего я пытаюсь достичь.
if (tab_main.Items.Contains(accountNumber))
{
tab_main.SelectedIndex = tab_main.Items.IndexOf(accountNumber);
}
else
{
Search s = new Search(queryResults, searchText);
TabItem tab_search = new TabItem();
tab_search.Header = searchString;
tab_search.Name = accountNumber;
tab_search.Content = s;
tab_main.Items.Add(tab_search);
}
Конечно, это не работает должным образом. В WinForms TabControl имеет коллекцию TabPages с методом ContainsKey, который я мог бы использовать для поиска имени TabPage. Я не понимаю, что ищет метод Items.Contains (), поскольку он только указывает объект в качестве аргумента и не ссылается на имя элемента!
Любая помощь приветствуется.
Спасибо!