ListView中的几个属性的DisplayMemberPath

时间:2011-09-14 14:02:07

标签: c# xaml listview .net-4.0 properties

我有简单的课程

public class Person
{
    string Name { get; set; }
    string Path { get; set; }
}

我还有包含几个这种类型对象的System.Windows.Controls.ListView。

我想在这个ListView中显示这两个属性(或者更多)。

如果我有一个,我知道我可以使用DisplayMemberPath执行此操作:

<ListView DisplayMemberPath="Name" Name="listViewClients" />

但我怎么能得到这样的结果:

"Name: Path"

(我的意思是适当对象的这个属性的值)

2 个答案:

答案 0 :(得分:4)

这样做的一种方法是,创建另一个只读属性来包装它们。

string NamePath { get { return Name + ": " + Path; }}

然后您可以将DisplayMemberPath设置为NamePath

答案 1 :(得分:2)

您还可以覆盖ToString()方法并省略设置DisplayMemberPath,在某些情况下可能会更优雅:

public class Person
{
    string Name { get; set; }
    string Path { get; set; }

    public override string ToString()
    {
        return Name + ": " + Path;
    }
}