我是ObjectListView的新手,我还没有找到如何在模型中使用对象的属性作为ObjectListView的AspectName。
例如,列表将显示汽车名称及其所有者名称
public class Person
{
private string _name;
public string Name
{
get => _name;
set => _name = value;
}
}
public class Car
{
private Person _owner;
private string _name;
public Person Owner
{
get => _owner;
set => _owner = value;
}
public string Name
{
get => _name;
set => _name = value;
}
}
如果我将列的AspectName设置为Owner.Name,则它不会在列表中显示任何内容。我已经在Car模型中定义了一个属性OwnerName的小方法,但我有更复杂的模型,这是必须定义该属性的痛苦。
我有办法做到吗?
由于
答案 0 :(得分:0)
根据你所说的,这应该有效。因此,必然存在导致此问题的其他问题。
您可以尝试以编程方式设置AspectGetter,例如:
this.olvColumn2.AspectGetter = delegate (Object obj)
{
Car car = (Car)obj;
if (car == null)
return "Unknown";
else
return car.Owner.Name;
};
然后,您可以在此代码中放置一个断点,并查看何时/是否调用它以及会发生什么。
请记住,在致电objectListView1.SetObjects