如何将DataBindings用于集合中的各种对象?

时间:2012-10-17 00:18:50

标签: c# data-binding

我有一组具有以下结构的对象:

public class Parent
{
    public string Title { get; set; }
    public string Guid { get; set; }
}

public class Child:Parent
{
    public string Description { get; set; }
}

List<Parent> collection ;
collection  = new List<Parent>();

collection.Add(new Parent());
collection.Add(new Parent());
collection.Add(new Child());
collection.Add(new Child());
collection.Add(new Parent());

所以一些元素来自Parent类型,一些元素来自Child类型(我在集合中的对象之间有继承关系)。

我使用了以下绑定:

txtTitle.DataBindings.Add("Text", _BindingSource, "Title");
txtGuid.DataBindings.Add("Text", _BindingSource, "Guid");
txtDescription.DataBindings.Add("Text", _BindingSource,"Description");

前两个绑定显然工作正常。但是我该如何对第三个正确显示数据?

1 个答案:

答案 0 :(得分:1)

在他的书“使用Windows窗体2.0进行数据绑定”一书中。 125,作者Brian Noyes说BindingSource中的项目必须是同质的,即同一类型。

看起来你想做的事情是不可能的,至少不是BindingSource组件。