zoukankan      html  css  js  c++  java
  • wpf 遍历控件及其值

    Xaml代码

    <Window x:Class="XyExecProTime.MainWindow"
            xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
            xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
            xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
            xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
            xmlns:local="clr-namespace:XyExecProTime"
            mc:Ignorable="d"
            Title="MainWindow" Height="760" Width="600">
        <Grid x:Name="rootGrid">
                <TabControl x:Name="tabControl" >
                    <TabItem Header="测试" x:Name="oocTabItem">
                         <StackPanel Orientation="Vertical" x:Name="ooc_stackpanel">
          <WrapPanel>     <TextBox x:Name="txt_a" />     </WrapPanel>     <WrapPanel>     <TextBox x:Name="txt_b"/>     </WrapPanel> </StackPanel> </TabItem> </TabControl> </Grid> </Window>

     Xaml.cs代码

            /// <summary>
            /// 遍历控件获取TextBox中的值!!!
            /// </summary>
            /// <param name="uiControls">界面控件</param>
            private Dictionary<string, string> SetNotEditable(UIElementCollection uiControls)
            {
                Dictionary<string, string> retDic = new Dictionary<string, string>();
                try
                {
                    foreach (UIElement element in uiControls)
                    {
                        if (element is TextBox)
                        {
                            TextBox txtBox = (element as TextBox);
                            string key = txtBox.Name;
                            string value = txtBox.Text;
                            retDic.Add(key, value);
                        }
                        else if (element is Grid)
                        {
                            this.SetNotEditable((element as Grid).Children);
                        }
                        else if (element is WrapPanel)//我用到的是主要是此段代码...大家根据自己的类别可以自定义哈...
                        {
                            foreach (var lab_txt in (element as WrapPanel).Children)
                            {
                                if (lab_txt is TextBox)
                                {
                                    TextBox txtBox = (lab_txt as TextBox);
                                    string key = txtBox.Name;
                                    string value = txtBox.Text;
                                    retDic.Add(key, value);
                                }
                            }
                        }
                    }
    
                }
                catch (Exception)
                {
    
                    throw;
                }
                return retDic;
            }


    //调用....
    Dictionary<string, string> valDic = SetNotEditable(ooc_stackpanel.Children);





  • 相关阅读:
    Leetcode 191.位1的个数 By Python
    反向传播的推导
    Leetcode 268.缺失数字 By Python
    Leetcode 326.3的幂 By Python
    Leetcode 28.实现strStr() By Python
    Leetcode 7.反转整数 By Python
    Leetcode 125.验证回文串 By Python
    Leetcode 1.两数之和 By Python
    Hdoj 1008.Elevator 题解
    TZOJ 车辆拥挤相互往里走
  • 原文地址:https://www.cnblogs.com/love-zf/p/7906485.html
Copyright © 2011-2022 走看看