WPF 查找控件的所有子控件

摘要:
=null){lstT.Add;}FindVisualChild;}}}在DataGrid中查找选定行中的子控件使用实例:privatevoidComboBox_SelectionChanged{DataGridRowcurrentRow=dgdRel.ItemContainerGenerator.ContainerFromIndex;//获取当前行if(currentRow!=null){//子控件的处理代码}}}
        /// <summary>
        ///查找子控件
        /// </summary>
        /// <typeparam name="T">控件类型</typeparam>
        /// <param name="parent">父控件依赖对象</param>
        /// <param name="lstT">子控件列表</param>
        public static void FindVisualChild<T>(DependencyObject parent, ref List<T> lstT) whereT : DependencyObject
        {
            if (parent != null)
            {
                T child = default(T);
                int numVisuals =VisualTreeHelper.GetChildrenCount(parent);
                for (int i = 0; i < numVisuals; i++)
                {
                    Visual v =(Visual)VisualTreeHelper.GetChild(parent, i);
                    child = v asT;
                    if (child != null)
                    {
                        lstT.Add(child);
                    }
                    FindVisualChild<T>(v, reflstT);
                }
            }
        }

在DataGrid中查找选定行中的子控件使用实例:

        private void ComboBox_SelectionChanged(objectsender, SelectionChangedEventArgs e)
        {
            DataGridRow currentRow = (DataGridRow)dgdRel.ItemContainerGenerator.ContainerFromIndex(dgdRel.SelectedIndex);   //获取当前行
            if (currentRow != null)
            {
                List<Control> lstControl = new List<Control>();
                FormDispose.FindVisualChild<Control>(currentRow, ref lstControl);  //获取当前行内所有的控件
                if (lstControl != null)
                {
                   //子控件的处理代码}
            }
        }

免责声明:文章转载自《WPF 查找控件的所有子控件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Visual Studio 快捷键汇总EA使用教程下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WPF 常用控件属性

基础控件 转载 原文链接:https://blog.csdn.net/sheila_1988/java/article/details/7278638 §按钮:Button 和 RepeatButton 。§对话框: OpenFileDialog 、 PrintDialog和 SaveFileDialog。§数字墨迹: SaveFileDialog和 In...

wpf使用devexpress RibbonControl实现导航窗体

实现如下效果 <Window xmlns:dxr="http://schemas.devexpress.com/winfx/2008/xaml/ribbon"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microso...

WPF笔记一

笔记内容: BUG、WPF运行窗体时调用Hide()方法,然后再Show()异常的解决方案 WPF 窗体设置为无边框 选择本地文件 选择文件夹 WPF实现右下角弹出消息窗口 WPF 显示 HTTP 网络图片 获得当前应用软件的版本 获取匿名对象(object)的属性值 WPF *.exe给另一个*.exe传值 C# zip压缩与zip解压,下载地址:点击...

WPF中ToolTip的自定义

ToolTip或者PopUp这个控件在做界面时会经常用到。如何对ToolTip进行自定义呢? 1.首先自定义tooltip的controlTemplate,完全清除系统默认效果, 如下:             <ControlTemplatex:Key="TooltipTemplate"TargetType="ToolTip">...

WPF:设置弹出子菜单的是否可用状态及效果

需求: 设置弹出子菜单(二级)项仅首项可用,其他项均不可用;不可用是呈灰色效果。           注:             菜单项都是依据层级数据模板。具体格式如下:                  StackBlock{TextBlock{Image}、TextBlock}} 问题:          1、窗体加载后,获取不到二级子菜单控件(二...

WPF 进度条

前台新建一个控件ProgressBar控件,并命名为pbDown            WebRequest request = WebRequest.Create("http://files.cnblogs.com/fornet/404.rar");            WebResponse respone = request.GetResponse...