2017-01-03 142 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