我對WPF很陌生,不知道該怎麼做。我在選項卡控件上的選項卡項中有一個文本框。我如何以編程方式(C#)確定哪個選項卡項目是此文本框的父項?我還想確定哪些選項卡控件是選項卡項目的父項。WPF - 如何找到控件所在的選項卡
非常感謝。
我對WPF很陌生,不知道該怎麼做。我在選項卡控件上的選項卡項中有一個文本框。我如何以編程方式(C#)確定哪個選項卡項目是此文本框的父項?我還想確定哪些選項卡控件是選項卡項目的父項。WPF - 如何找到控件所在的選項卡
非常感謝。
TabItem.Parent將提供TabItem
的邏輯父元素;這將是相關聯的TabControl
。您可以使用與TabItem
相同的方法進行任何控制。
((FrameworkElement)myTextBox.Parent).Parent;
如果該項目在樹中較深並且在深度上未知,則需要開始以遞歸方式接近它。
我也是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;
}
您可以使用FrameworkElement.Parent走了在WPF控件的層次結構。這應該讓你(遞歸)走直到找到TabItem,然後從那裏走到TabControl。
這裏是尋找父控件的一般方法:How can I find WPF controls by name or type?
你可以這樣調用:
TabItem owner = UIHelper.FindVisualParent<TabItem>(myTextBox);