原文 http://www.silverlightchina.net/html/study/WPF/2010/1116/3418.html

先看一段XAML代码:

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<TabItem Name="RootTabItem" Background="Transparent">
<TabItem.Template>
<ControlTemplate TargetType="TabItem">
<Button Name="btnTabItem">
<Button.Template>
<ControlTemplate TargetType="Button">
<StackPanel Orientation="Horizontal" Background="Transparent">
<local:IconButton x:Name="btnSend" ToolTip="send"
Icon="/Resources/Icon/sendIcon.png"/>
<local:IconButton x:Name="btnCut" ToolTip="cut"
Icon="/Resources/Icon/cutIcon.png"/>
</StackPanel>
</ControlTemplate>
</Button.Template>
</Button>
</ControlTemplate>
</TabItem.Template>
</TabItem>

  我想要获取btnSend对象,可以这样去做:

1
2
3
4
DependencyObject d1 = VisualTreeHelper.GetChild(RootTabItem,0);
Button button = LogicalTreeHelper.FindLogicalNode(d1,"btnTabItem") as Button;
DependencyObject d2 = VisualTreeHelper.GetChild(button,0);
IconButton iconButton = LogicalTreeHelper.FindLogicalNode(d2,"btnSend") as IconButton;

  现在就可以使用iconButton(btnSend)干你想干的事情了,\(^o^)/...

本文来自朔月星辰的博客,原文地址:http://www.cnblogs.com/syxc/archive/2010/11/05/1870147.html

WPF中如何获取ControlTemplate中的对象的更多相关文章

  1. ArcGIS Engine中如何获取Map中已经选择的要素呢(转)

    ArcGIS Engine中如何获取Map中已经选择的要素呢   1.使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素.IMap中的Fe ...

  2. .netcore2.1在控制器中和类中,获取appsettings中值的方法

    一般我们在开发项目中,都会从配置文件中获取数据库连接信息.自定义参数配置信息等. 在.netcore中在控制器和自定义类中,获取配置文件中参数方式如下: appsettings.json { &quo ...

  3. JS中如何获取<Select>中value和text的值

    原文地址:JS中如何获取<Select>中value和text的值 html代码: <select id = "city" onchange="chan ...

  4. ArcGIS Engine中如何获取Map中已经选择的要素呢

    1.使用IEnumFeturea对象获取map中的FeatureSelection,该方法可以获取所有图层的选择要素.IMap中的FeatureSelection可不是IFeatureSelectio ...

  5. asp.net中C#获取字符串中汉字的个数实例

    符串可以包括数字,字母,汉字或者其他的字符.使用Char类型的IsDigit静态方法可以判断字符串中的字符是否为数字,使用Char类型中的 IsLetter静态方法可以判断字符串中是否为字母.我们来实 ...

  6. MVC4中视图获取控制器中返回的json格式数据

    再开发MVC项目时,有时只需要从控制器中返回一个处理的结果,这时返回Json格式的数据非常的方便,在Controller中,提供了几种返回类型和方法,如: Content() 返回文本类型的Conte ...

  7. Java中如何获取spring中配置文件.properties中属性值

    通过spring配置properties文件 1 2 3 4 5 6 7 8 9 <bean id="propertyConfigurer"   class="co ...

  8. Java中如何获取spring中配置的properties文件内容

    有2种方式: 一. 1.通过spring配置properties文件 [java]  <bean id="propertyConfigurer"      class=&qu ...

  9. JS中通过Input中id获取输入框中的值

    HTML中 <input type="text" id="ONE" oninput="kpi()"> JS中 function ...

随机推荐

  1. Java提高学习之Object(2)

    Equality 问:euqals()函数是用来做什么的? 答:equals()函数可以用来检查一个对象与调用这个equals()的这个对象是否相等. 问:为什么不用“==”运算符来判断两个对象是否相 ...

  2. 《UNIX环境高级编程》笔记--线程的标识、创建和终止

    1.线程标识 就像每个进程都有一个进程ID一样,每个线程都有一个线程ID.进程ID在整个系统中是唯一的,但线程ID只在它所属的 进程环境中有效. 线程ID使用pthread_t数据类型来表示,实现的时 ...

  3. hadoop笔记之Hive入门(Hive的体系结构)

    Hive入门(二) Hive入门(二) Hive的体系结构 ○ Hive的元数据 Hive将元数据存储在数据库中(metastore),支持mysql.derby.oracle等数据库,Hive默认是 ...

  4. 如何实现select组件的选择输入过滤作用

    实现select组件的选择输入过滤作用的js代码如下: /** *其中//******之间的部分显示的是在没有选择输入过滤功能的代码上加入的功能代码 ** / (function ( $ ) { $. ...

  5. chrome实现全浏览器跨域ajax请求

    如图,在chrome快捷方式上打开属性栏,在‘目标’栏加上后缀--disable-web-security --user-data-dir.即可实现在此浏览器上所有网页的跨域请求.

  6. c语言 数组最小数

    数组求一个数组的最小数 int number[20] = {0}; int min = 0; for (int i = 0; i < 20; i++) { number[i] = arc4ran ...

  7. vim note

    2016-1-22 vim plugin collections: (参考 https://www.youtube.com/watch?v=0QFR-_wUoA0) vim-pathogen  插件管 ...

  8. Windows Azure 网站:应用程序字符串和连接字符串的工作原理

    编辑人员注释:本文章由 Windows Azure 网站团队的首席项目经理 Stefan Schackow 撰写. Windows Azure 网站上有一个方便的功能,即开发人员可将 Azure 中的 ...

  9. 解决android开发webservice的发布与数据库连接的问题

    由于app后续开发的需要,移植了两次webservice和数据库,遇到了不少问题,也花费了很多时间,实践告诉我要学会寻找问题的根源,这样才能在开发中节省时间,尽快解决问题!好,废话不多说,转入正题…… ...

  10. centos ldap

    Standalone LDAP Daemon, slapd(standalone lightweight access protocol)Lightweight Directory Access Pr ...