首页 > 其他分享 >如何根据子控件名字获取子控件

如何根据子控件名字获取子控件

时间:2024-11-21 15:55:46浏览次数:1  
标签:控件 parent childName 获取 名字 child null foundChild

public static T FindChild<T>(DependencyObject parent, string childName) where T : DependencyObject
        {
            // 检查null情况
            if (parent == null) return null;

            T foundChild = null;

            int childrenCount = VisualTreeHelper.GetChildrenCount(parent);
            for (int i = 0; i < childrenCount; i++)
            {
                DependencyObject child = VisualTreeHelper.GetChild(parent, i);
                // 如果类型匹配并且名称(如果提供)也匹配
                if (child != null && child is T && child.GetValue(NameProperty).ToString() == childName)
                {
                    // 如果找到匹配项,则返回
                    foundChild = (T)child;
                    break;
                }
                else
                {
                    // 否则,递归查找
                    foundChild = FindChild<T>(child, childName);
                    if (foundChild != null)
                    {
                        break;
                    }
                }
            }
            return foundChild;
        }

 

标签:控件,parent,childName,获取,名字,child,null,foundChild
From: https://www.cnblogs.com/LXLR/p/18560969

相关文章

  • 分享个人在项目中使用过最强的企业级表格、顶级表格控件推荐 vxe-table
    专业的表格控件SpreadJS、ad-grid、vxe-table对比评测,仅对个人实际使用中的开发体验分享、仅供参考做过很多大型项目,ERP、企业内部管理系统,一个系统好不好用基本就是看表格做得好不好了。一般业务的列表页面、增删改查页面、表单页面等。总结实现Excel在线协同功能就选Spr......
  • 可以免费体验 IP 地址 SSL 证书获取教程
    在互联网安全越来越被看重的这个时候,给服务器的IP地址装上SSL证书已经是保障数据传输安全的重要手段之一了。SSL证书可不只是能把通信内容加密,还能核实服务器的身份,防止有中间人在中间搞破坏。现在呢,我们给大家提供一个能免费体验IP地址SSL证书的机会,帮大家把服务器......
  • label 是一个用于 设置或更改磁盘分区的标签(卷标)的命令。卷标是一个可以帮助你识别存
    label|MicrosoftLearn LABEL/?创建、更改或删除磁盘的卷标。LABEL[drive:][label]LABEL[/MP][volume][label] drive:     指定驱动器号。 label     指定卷标。 /MP      指定卷应被视为装入点或卷名。 volume  ......
  • C# 获取ts媒体文件的时间长度
    C#获取ts媒体文件的时间长度在C#中,你可以使用System.Media.SoundPlayer类来获取ts媒体文件的时间长度。以下是一个简单的示例代码:  usingSystem;usingSystem.Media; classProgram{staticvoidMain(){//创建SoundPlayer实例SoundPlaye......
  • nodejs获取ts媒体文件的时间长度
    nodejs获取ts媒体文件的时间长度在Node.js中,你可以使用ffprobe,这是FFmpeg套件中的一个工具,来获取TS媒体文件的时长。首先,确保你已经安装了FFmpeg,然后可以通过Node.js的child_process模块运行ffprobe命令。以下是一个简单的Node.js脚本示例,它使用child_process执行ffpro......
  • 界面控件DevExpress Blazor UI v24.1新版亮点:发布全新文件输入等组件
    DevExpress BlazorUI组件使用了C#为BlazorServer和BlazorWebAssembly创建高影响力的用户体验,这个UI自建库提供了一套全面的原生BlazorUI组件(包括PivotGrid、调度程序、图表、数据编辑器和报表等)。DevExpress Blazor控件目前已经升级到v24.1版本了,此版本发布了全新文件输入......
  • 接口自动化cookie获取
       deftest_003():get_url='https://gin/MDAccountLogin'data={"password":"jTkwfPUxBN2LIJJPlfeGMxbwjsVHTB+vsJI48EN","isCookie":False,"captchaType":1,&q......
  • Echatrs引入高德地图并获取地图实例进行高德地图API调用
    1、安装Echarts高德地图扩展echarts-extension-amap;npmiecharts-extension-amap--save2、引入Echarts和高德地图;npmiecharts--savenpmi@amap/amap-jsapi-loader--save3、需要先创建高德地图实例,才能调用EchartsAPI来引入地图;useAMap.tsimport*asAMapLoader......
  • PbootCMS获取结果页面的搜索keyword值和tag值
    搜索关键词keyword如果您的搜索结果页面地址后缀为?keyword=三角形,那么获取关键词方式为{$get.keyword}。该标签可用于搜索列表页面获取搜索关键词的值,可以搭配分页条的总数据行数属性({page:rows})。tag关键词如果您的搜索结果页面地址后缀为/tag/伪静态配置.html,那么获......
  • wordpress获取当前分类的顶级分类ID并调用子分类
    函数定义:在functions.php中定义一个函数来获取当前分类的顶级分类ID。代码示例://获取分类ID,函数参数是int类型为当前分类的IDfunctiontx_wp_get_category_root_id($cat){$this_category=get_category($cat);//获取当前分类的对象//循环往上获得父级分......