[英]How do you create an element programmatically from a data template defined in XAML?
[英]How do you programmatically create a default template for a templated control?
我正在创建一个自定义模板化复合控件。 如果在标记中未指定“ ItemTemplate”,如何以编程方式创建默认模板?
是的,也许我应该在发布我的问题之前先进行一些尝试。 我创建了以下课程:
internal class ItemTemplateDefault : ITemplate
{
public void InstantiateIn(Control container)
{
Literal lit = new Literal();
CountrySelectorItemContainer cont = container as CountrySelectorItemContainer;
lit.Text = string.Format("<li>\n\t<a href=\"{0}\" title=\"{1}\">{1}</a>\n</li>", cont.ItemURL, cont.ItemText);
container.Controls.Add(lit);
}
}
如果ItemTemplate中是空所以,当我实例化一个新ItemTemplateDefault并将其指定为ItemTemplate中。 见下文。
if (this.ItemTemplate == null)
this.ItemTemplate = new ItemTemplateDefault();
CountrySelectorItemContainer container = new CountrySelectorItemContainer();
container.ItemText = "My Country";
container.ItemURL = "http://myurl.com";
this.ItemTemplate.InstantiateIn(container);
Controls.Add(container);
这是一种体面的方式吗? 我真的只是考虑了看起来很自然的事情,因此,如果您有任何反馈意见,我将不胜感激。
干杯,詹姆斯
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.