【问题标题】:Search through Tab Control for specific Tab Item based on a String value基于字符串值通过选项卡控件搜索特定选项卡项
【发布时间】:2013-08-18 23:14:07
【问题描述】:

我想知道如何在名称与特定字符串值匹配的tabControl 中选择tabItem。我猜我将不得不进行某种搜索。

这是一个视觉示例:

string selectedTabItem = "TabItem";

//if there exists a Tab Item in this specific tab control
//with the above string as it's Name
//that Tab Item .IsSelected = true;

【问题讨论】:

  • 它的名字还是它的标题?
  • 我要找的是它的名字。
  • 名称不能包含空格。
  • 我为你更新了我的答案,看看现在应该是正确的语法。

标签: c# wpf search tabcontrol


【解决方案1】:

假设您手动创建选项卡,而不是通过绑定,那么这应该可以工作:

tabControl.SelectedItem = tabControl.Items.OfType<TabItem>().SingleOrDefault(n => n.Name == selectedTabItem);

【讨论】:

    【解决方案2】:
    foreach (TabPage t in myTabControl.TabPages)
    {
      if t.Name.Equals("something") 
      {
         myTabControl.SelectedTab = t;
         break;
      }
    }
    

    基本上,您可以遍历每个选项卡并查看名称是否与您的字符串匹配

    我认为更好的方法是:

    if (myTabControl.TabPages.ContainsKey("something"))
                myTabControl.SelectedTab = mytabControl.TabPages["something"];
    

    【讨论】:

    • WPF有TabPage吗?
    • 我相信它应该,我也找到了一个 containskey 方法,看看更新的答案。
    • WPF 控件 (System.Windows.Controls.TabControl) 不会有 TabPagesSelectedTab 并且选项卡不会是 TabPage 类型。它是 WinForms。
    • dkozi 然后在他的回答中说了什么,对不起,我没有带我的电脑来尝试为你找到正确的答案,我认为这可能会奏效,谷歌并没有带来太多收益。
    猜你喜欢
    • 1970-01-01
    • 2021-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 1970-01-01
    相关资源
    最近更新 更多