从控件和数据模板获取WPF模板项目

从控件和数据模板获取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; 
}