我创建了一个具有ITemplate属性的Usercontrol。
public class MyUserControl
{
...
[TemplateContainer(typeof(ContextMenuContent))]
[TemplateInstance(TemplateInstance.Single)]
[PersistenceMode(PersistenceMode.InnerProperty)]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public ITemplate ContextMenuTemplate { get; set; }
...
}
托管页面还包含 CustomControl ,该属性具有允许您设置任意按钮的控件ID的属性。我的计划是在 MyUserControl 模板中设置按钮的控件ID。 CustomControl 使用NamingContainer.FindControl()查找分配的Button,但似乎FindControl()不适用于ITemplate占位符中的控件。尽管我可以使用CodeBehind中的Intellisense来获取按钮并访问其所有属性,但是FindControl()找不到它。
如何在NamingContainer中找到控件?