gpt4 book ai didi

c# - WPF/C# : How does one reference TabItems inside a TabControl?

转载 作者:行者123 更新时间:2023-11-30 13:42:43 24 4
gpt4 key购买 nike

我确定我遗漏了一些简单的东西,但我必须承认,在这一点上我不知所措。

我正在以编程方式将 TabItems 添加到我的主 TabControl,一个用于用户选择打开的每个帐户。在创建和添加新的 TabItem 之前,我想检查用户是否已经在另一个选项卡中打开了帐户。我不想最终打开两个相同的选项卡。

这是我最初编写的代码。希望它能让您了解我要完成的工作。

    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 有一个带有 ContainsKey 方法的 TabPages 集合,我可以用它来搜索 TabPage 的名称。我不明白 Items.Contains() 方法在寻找什么,因为它只将一个对象指定为参数,而没有引用项目的名称!

非常感谢任何帮助。

谢谢!

最佳答案

Contains() 方法正在寻找您传递您正在寻找的实际 TabItem,因此它不会帮助您。但这会起作用:

var matchingItem =
tab_main.Items.Cast<TabItem>()
.Where(item => item.Name == accountNumber)
.FirstOrDefault();

if(matchingItem!=null)
tab_main.SelectedItem = matchingItem;
else
...

关于c# - WPF/C# : How does one reference TabItems inside a TabControl?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2277464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com