从控件和数据模板获取WPF模板项目
问题描述:
如何从绑定到控件模板或数据模板的控件获取命名控件?从控件和数据模板获取WPF模板项目
我试过FindName它不起作用。 我不想使用VisualTreeHelper,因为您必须单独遍历每个父子项目。
答
这取决于你什么时候做。如果你在构造函数中这样做,它不会工作,因为元素仅在模板应用后才存在。
这是,如果你创建的控制做的标准方式:
public override void OnApplyTemplate() {
//i call the base first
base.OnApplyTemplate();
//then go looking for the newly created elements
TextBox textBox = this.Template.FindName("PART_TextBox", this) as TextBox;
}