找回密码
 立即注册

QQ登录

只需一步,快速开始

KNight
中级会员   /  发表于:2015-5-11 09:20:00
11#
回复 10楼还没想好的帖子
  1. public List<T> GetChildObjects<T>(DependencyObject obj, Type typename) where T : FrameworkElement
  2. {
  3.         DependencyObject child = null;
  4.         List<T> childList = new List<T>();

  5.         for (int i = 0; i <= VisualTreeHelper.GetChildrenCount(obj) - 1; i++)
  6.         {
  7.                 child = VisualTreeHelper.GetChild(obj, i);

  8.                 if (child is T &amp;&amp; (((T)child).GetType() == typename))
  9.                 {
  10.                         childList.Add((T)child);
  11.                 }
  12.                 childList.AddRange(GetChildObjects<T>(child, typename));
  13.         }
  14.         return childList;
  15. }
复制代码
这是在WPF中查找子控件的方法,然后查找C1DockControl控件里的C1LinePanel子控件,并将其背景设置成你想要的颜色即可;

  1. List<C1LinePanel> a = GetChildObjects<C1LinePanel>(c1DockControl, typeof(C1LinePanel));
  2. a[0].Background = new SolidColorBrush(Colors.Blue);
复制代码

评分

参与人数 1金币 +500 收起 理由
Alice + 500 提供代码帮助其他客户解决问题,奖励500金币。

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-11 18:27:00
12#
回复 10楼还没想好的帖子

感谢@KNight 提供的方法。
@还没想好 请问你使用11楼的方式能解决你的问题么?
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
还没想好
论坛元老   /  发表于:2015-5-12 10:01:00
13#
谢谢楼上2位 我试一下这个方法  回头更新结果
回复 使用道具 举报
还没想好
论坛元老   /  发表于:2015-5-12 11:16:00
14#
版主 &amp; KNight 我试过这个方法了   但是 在Floating状态下这样设置是不起作用的 我在设置Floating后 调用
List<C1DockTabControl> a = GetChildObjects<C1DockTabControl>(c1DockControl, typeof(C1DockTabControl)); 所得到的所有窗体没有一个的dockmode是floating的
回复 使用道具 举报
KNight
中级会员   /  发表于:2015-5-12 11:56:00
15#
回复 14楼还没想好的帖子

是从C1DockTabControl控件中找到C1LinePanel子控件,然后设置该子控件的背景色;
你给的Demo里,如果在设置floating之后,你的c1DockTabControl控件就不在c1DockControl控件内了,当然找不到了;抱歉之前最后给的两句代码产生误解了,应该改为:
  1. List<C1LinePanel> a = GetChildObjects<C1LinePanel>(c1DockTabControl, typeof(C1LinePanel));
  2. a[0].Background = new SolidColorBrush(Colors.Blue);
复制代码

评分

参与人数 1金币 +100 满意度 +5 收起 理由
还没想好 + 100 + 5 帮助客户解决技术难题。奖励金币。

查看全部评分

回复 使用道具 举报
还没想好
论坛元老   /  发表于:2015-5-12 13:59:00
16#
回复 15楼KNight的帖子

谢谢 果然是这样  终于解决了这么多天 厉害
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-5-12 14:42:00
17#
回复 16楼还没想好的帖子

感谢你的反馈。
也谢谢@Knight的热心回复。

为了给你提供更优质的服务,请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢        
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部