WPF常用到ControlTemplate 或DataTemplate,可以再里面嵌套控件,那么问题来了,在ControlTemplate 或DataTemplate里面写的控件或容器怎么获取呢,直接使用name是不行的
以下贴出MSDN官方的解决方法
ControlTemplate
DataTemplate
以上要注意常出现null的问题
ControlTemplate里这种用法只能获取直接关联的子元素,如果是像ItemBox,ItemView等等里的item元素是获取不到的,还有,因为UI需要加载窗体,需要一个时间,所以要注意顺序,不能在构造函数中获取ControlTemplate,那样会显示null,可以再窗体load事件以及控件的事件中使用
DataTemplate要注意以上方法是通过遍历item得到的,也就是说如果你的ItemBox,ItemView等等还没加载数据源,即没有item时不能使用,会报null