我想实现一个非常简单的列表控件。它有2个属性:
控件实现必须使用RowTemplate
中指定的模板传递每一行,并传递DataSource
列表中的相应对象,这样,如果我在传递的属性中有一个名为Name
的属性对象,可以通过Eval("Name")
访问它。
我想要一个如何使用RowTemplate
呈现控件以及如何将对应的DataSource
对象传递给模板的示例。
我正在阅读有关该主题的MSDN文档:Data Binding Expression Overview和Binding to Databases但我找不到如何实现将对象传递给模板的控件。
答案 0 :(得分:3)
听起来你正在尝试开发一个模板化的数据绑定控件。
基本上,您只需要在渲染主控件期间迭代数据源对象。对于数据源中的每个项目,创建模板容器对象的新实例并将其添加到容器控件中。根据您要扩展的内容,实际的渲染方法可能会有所不同,但如果您要扩展BaseDataList
之类的内容,则可以在“CreateControlHeirarchy()
”中进行扩展。
您可以查看一些演练。 Here's a pretty straightforward one