如何獲取嵌套在Tabitem中的所有控件/ UIElements(來自TabControl)?通過TabItem控件獲取和迭代?
我嘗試了一切,但無法得到它們。
(設置SelectedTab):
private TabItem SelectedTab = null;
private void tabControl1_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
SelectedTab = (TabItem)tabControl1.SelectedItem;
}
現在我需要這樣的:
private StackPanel theStackPanelInWhichLabelsShouldBeLoaded = null;
foreach (Control control in tabControl.Children /*doesnt exist*/, or tabControl.Items /*only TabItems*/, or /*SelectedTab.Items ??*/) //I Have no plan
{
if(control is StackPanel)
{
theStackPanelInWhichLabelsShouldBeLoaded = control;
//Load Labels in the Stackpanel, thats works without problems
}
}
後Silvermind: 這樣做,伯爵始終是1:
UpdateLayout();
int nChildCount = VisualTreeHelper.GetChildrenCount(SelectedTab);
的TabItem的可能需要,他使這孩子之前先觸發UpdateLayout請。這將按照每個示例在選擇/打開時發生。佈局渲染後,您需要使用SelectedTab而不是它的Children。 – Silvermind 2012-03-20 09:30:07
編輯答案..其仍然總是1(網格) – eMi 2012-03-20 09:36:58