查找TextBlock,它是通过代码生成的默认控件模板ComboBox的一部分

时间:2010-04-29 11:13:13

标签: wpf combobox controltemplate visualtreehelper

我正在尝试找到comboBox控件模板中的TextBlock。 只有在XAML中声明了comboBox时才使用VisualTreeHelpar.GetChildrenCount。在这种情况下,GetChildrenCount返回1并且可以进行递归搜索。

但是,如果我使用代码将组合声明为Window类的成员,并将其分配并设置到其位置,则函数GetChildrenCount将返回0.当我在此场景中运行snoop时,它显示组合子层次结构。我希望能像snoop一样搜索comboBox。

任何帮助都将不胜感激。

代码:

ComboBox mCombo = null;

private void Windows_Loaded(object sender, RoutedEventArgs e)

{

mCombo = new ComboBox;

   mGrid.Children.Add(mCombo);

   Grid.SetRow(mCombo,0);

   int count =  VisualTreeHelpar.GetChildrenCount(mCombo);

}

1 个答案:

答案 0 :(得分:0)

调用ComboBox的ApplyTemplate方法。然后,你应该能够找到你需要的东西。