欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

WPF之ComboBox的VisualTreeHelper

发布时间:2023/11/30 asp.net 42 豆豆
生活随笔 收集整理的这篇文章主要介绍了 WPF之ComboBox的VisualTreeHelper 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
WPF之ComboBox的VisualTreeHelper

     用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 = 0; i < VisualTreeHelper.GetChildrenCount(this.cbServer); i++){DependencyObject o1 = VisualTreeHelper.GetChild(this.cbServer, i);for (int j = 0; j < VisualTreeHelper.GetChildrenCount(o1); j++){DependencyObject o2 = VisualTreeHelper.GetChild(o1, j);}}}

 

posted on 2012-02-23 17:55 daixinet.com 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/sshoub/archive/2012/02/23/2365248.html

总结

以上是生活随笔为你收集整理的WPF之ComboBox的VisualTreeHelper的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。