0

コンボ ボックスのコントロール テンプレート内にある TextBlock を見つけようとしています。VisualTreeHelpar.GetChildrenCount の使用は、comboBox が XAML で宣言されている場合にのみ機能します。その場合、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);

}
4

1 に答える 1

0

ComboBox の ApplyTemplate メソッドを呼び出します。そうすれば、必要なものが見つかるはずです。

于 2010-04-29T12:22:26.240 に答える