daixinet

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  211 随笔 :: 0 文章 :: 115 评论 :: 68万 阅读

     用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控件,如下:

1
((TextBox)VisualTreeHelper.GetChild(VisualTreeHelper.GetChild(this.cbServer, 0), 2)).TextChanged += new TextChangedEventHandler(SetDataBaseIsEnabled);

 注意:这段代码要放在Window_Loaded()事件中,不能放在页面的构造方法中。

就可以为ComboBox控件添加上TextChanged属性了。

PS:查找ComboBox中控件的代码:

1
2
3
4
5
6
7
8
9
10
11
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   daixinet.com  阅读(2161)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server如何跟踪自动统计信息更新?
· AI与.NET技术实操系列:使用Catalyst进行自然语言处理
· 分享一个我遇到过的“量子力学”级别的BUG。
· Linux系列:如何调试 malloc 的底层源码
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
阅读排行:
· 对象命名为何需要避免'-er'和'-or'后缀
· JDK 24 发布,新特性解读!
· Java24你发任你发,我用Java8
· .NET Core奇技淫巧之WinForm使用Python.NET并打包
· C# 中比较实用的关键字,基础高频面试题!
点击右上角即可分享
微信分享提示