首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ITemplate,离开InstantiateIn(控制容器)的原因

ITemplate,离开InstantiateIn(控制容器)的原因
EN

Stack Overflow用户
提问于 2011-03-15 20:53:25
回答 2查看 999关注 0票数 0

我在ListView控件中实现ITemplate接口。如果我在自定义类中为ItemTemplate实现了这一点,那么一切都会好起来的。我的意思是,运行时会在我使用

代码语言:javascript
复制
ListView.ItemTemplate = new CustomClass(); 

CustomClass :ITemplate 
{
    public void InstantiateIn(Control container)
    {
        HtmlTable table = CreateHeader();
        container.Controls.Add(table);
    }
    ...
}

但我也想用ListView.LayoutTemplate做同样的事情。在本例中,运行时只调用InstantiateIn一次,但每次更新都会离开我的方法。它的原因是什么?

EN

回答 2

Stack Overflow用户

发布于 2011-03-15 20:56:38

布局模板说明了根容器的外观,它不是针对每个项目的。

票数 0
EN

Stack Overflow用户

发布于 2011-03-15 21:11:13

单击不同的按钮后,我必须更改我的LayoutTemplate。

而且我的LayoutTemplate有一个整个ListView的头。我必须更改它,这取决于按钮。

我还有两个带有ITemplate实现的自定义类(一个用于ItemTemplate,另一个用于LayoutTemplate)。我将意识到下面的行为:

1)。如果我单击Button1

代码语言:javascript
复制
ListView.ItemTemplate = new CustomItemClass1();
ListView.LayoutTemplate = new CustomLayuotClass1();

2)。如果我单击Button2

代码语言:javascript
复制
ListView.ItemTemplate = new CustomItemClass2();
ListView.LayoutTemplate = new CustomLayuotClass2();

但是我再也看不到我的LayoutTemplate头了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5311988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档