2017-01-03 146 views
0

假设我有一个带有两个标签的表单,每个标签中有5个标签。我希望能够在搜索框中输入我想要的标签,并且会显示该标签并突出标签。使用搜索框在两个标签中搜索标签

从我读过的东西我需要使用视觉树和搜索的孩子,我从来没有这样做过。我想知道是否有更简单的解决方案?

注:我会一直搜索标签文本属性

回答

1

如果你命名每一个网格是一个TabItem的的第一个孩子,之后就可以引用网格的孩子。然后,您可以通过使用某种标签索引来调用并选择正确的TabItem,以标识TabControl中的父级TabItem的位置。如果网格不是TabItem的DIRECT子节点,那么它将不得不被调用,等等。 XAML

C#
 <TabControl x:Name="tbControl"> 
      <TabItem> 
       <Grid x:Name= "firstTabGrid" Tag="0"> 
        <Label Content="label one"/> 
        <Label Content="label two"/> 
       </Grid> 
      </TabItem> 
      <TabItem> 
       ... 
      </TabItem> 

 foreach (Label l in firstTabGrid.Children) 
     { 
      if (l.Content.ToString() == "matching string here") 
      { 
       tbControl.SelectedIndex = Convert.ToInt32(firstTabGrid.Tag.ToString()); 
       l.Background = Brushes.Yellow; 
      } 
     } 
+0

是的,这工作,谢谢:) - 在某些我有一个滚动视图选项卡,其中标签可能会进一步下跌的标签,后我们选择索引有没有办法向下滚动滚动视图以将标签放入视图中? – JohnChris