Поиск TextBlock, который является частью шаблона элемента управления по умолчанию ComboBox, сгенерированного с помощью кода - PullRequest
0 голосов
/ 29 апреля 2010

Я пытаюсь найти TextBlock внутри шаблона элемента управления comboBox. использование VisualTreeHelpar.GetChildrenCount работает только в том случае, если comboBox объявлен в XAML. В этом случае GetChildrenCount возвращает 1 и возможен рекурсивный поиск.

Однако, если я объявил комбо как член класса Window, используя код, выделил и установил его на свое место, функция GetChildrenCount вернет 0. Когда я запускаю snoop в этом сценарии, он показывает иерархию дочерних комбо. Я хочу иметь возможность искать в comboBox так же, как это делает snoop.

Любая помощь будет оценена.

Код:

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 голосов
/ 29 апреля 2010

Вызовите метод ApplyTemplate ComboBox. Тогда вы сможете найти то, что вам нужно.

...