J'ai ajouté un ITemplate au contrôle RadGrid de Telerik appelé SearchMenuTemplate ala:propriétés ITemplate pas disponible sous forme d'attributs
public class AbsRadGrid : RadGrid
{
private ITemplate _ItemTemplate;
[PersistenceMode(PersistenceMode.InnerProperty)]
[TemplateContainer(typeof(searchBar))]
public ITemplate SearchMenuTemplate
{
get { return _ItemTemplate; }// get
set { _ItemTemplate = value; }// set
}
}
Et la classe modèle ressemble à quelque chose comme (méthodes de remplacement obligatoires comme createchildcontrol ont été omis par souci de concision):
[ParseChildren(true)]
class searchBar : CompositeControl, INamingContainer
{
public string rbStartsWithText { get; set; }
}
Maintenant, dans la fenêtre de contrôle de source, le contrôle RadGrid voit le modèle. Mais rbStartsWithText n'est pas un attribut sur le nœud.
Je veux voir quelque chose comme ceci (note: préfixe abs est enregistré dans le balisage):
<abs:AbsRadGrid ID="rg" runat="server">
<SearchMenuTemplate rbStartsWithText="Starts With" />
</abs:AbsRadGrid>
Au lieu de cela rbStartsWithText jette un vert gribouillis et me disant que ce n'est pas un attribut valide de SearchMenuTemplate.
@downvoter, attention aux commentaires? – Alex