2011-01-31 52 views
2

我對WPF很陌生,不知道該怎麼做。我在選項卡控件上的選項卡項中有一個文本框。我如何以編程方式(C#)確定哪個選項卡項目是此文本框的父項?我還想確定哪些選項卡控件是選項卡項目的父項。WPF - 如何找到控件所在的選項卡

非常感謝。

回答

8

TabItem.Parent將提供TabItem的邏輯父元素;這將是相關聯的TabControl。您可以使用與TabItem相同的方法進行任何控制。

((FrameworkElement)myTextBox.Parent).Parent; 

如果該項目在樹中較深並且在深度上未知,則需要開始以遞歸方式接近它。

1

我也是WPF的新手,但循環搜索呢? 例如:

TextBox TB = new TextBox(); 
TabControl MyTabControl = new TabControl(); 
// ... 
foreach (TabItem ti in MyTabControl.Items) 
    if (TB.Parent == ti) 
    { 
     // textbox is here! 
     MessageBox.Show(ti.ToString()); 
     break; 
    } 
2

您可以使用FrameworkElement.Parent走了在WPF控件的層次結構。這應該讓你(遞歸)走直到找到TabItem,然後從那裏走到TabControl。

相關問題