zoukankan      html  css  js  c++  java
  • 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);
                    }
                }
            }
    
  • 相关阅读:
    【转】C#连接mysql
    【转】深度优先算法
    【转】mysql安装
    win7NVIDIA显卡驱动升级时卡住
    【转】win7系统删除桌面IE图标
    双系统删掉一个后,所在分区无法格式化
    SQL各种JOIN
    C# 反射
    【转】C#强制转换和显式转换
    SQL Server 去除表中字段空格
  • 原文地址:https://www.cnblogs.com/sshoub/p/2365248.html
Copyright © 2011-2022 走看看