ComboBox控件的默认组成:
第一层(1个控件):
System.Windows.Controls.Grid
第二层(2个控件):
System.Windows.Controls.Primitives.Popup;
Microsoft.Windows.Themes.ListBoxChrome;
System.Windows.Controls.TextBox;
System.Windows.Controls.Primitives.ToggleButton Content: IsChecked:False
控件都是按顺序排列的,所以取得TextBox控件
如下:
((TextBox)VisualTreeHelper.GetChild(VisualTreeHelper.GetChild(this.cbServer, 0), 2)).TextChanged += new TextChangedEventHandler(SetDataBaseIsEnabled)
注意:这段代码要放在Window_Loaded()事件中,不能放在页面的构造方法中。
就可以为ComboBox控件添加上TextChanged属性了。
PS:查找ComboBox中控件的代码:
private void button1_Click(object sender, RoutedEventArgs e)
{
for (int i = 0i <VisualTreeHelper.GetChildrenCount(this.cbServer)i++)
{
DependencyObject o1 = VisualTreeHelper.GetChild(this.cbServer, i)
for (int j = 0j <VisualTreeHelper.GetChildrenCount(o1)j++)
{
DependencyObject o2 = VisualTreeHelper.GetChild(o1, j)
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)