combobox中如何设置TEXT

combobox中如何设置TEXT,第1张

将COMBOBOX设置成了只下拉时,如不雅设置的Text的字符串在该COMBOBOX.Items中,COMBOBOX会主动显示该文本(这时ItemIndex=该字符串在COMBOBOX.Items中的索引),不然将显示空(这时ItemIndex=-1)

用WPF的ComboBox控件的时候,需要用到TextChanged属性,但是这个属性属于TextBox控件,不用担心,ComboBox中存在TextBox,所以关键问题就是如何找到ComboBox中的TextBox控件。

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)

}

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11766764.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存