DisplayMemberPath用于ListView中的几个属性

本文关键字:几个 属性 用于 ListView DisplayMemberPath | 更新日期: 2023-09-27 18:08:47

我有一个简单的class

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

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

我想显示这两个属性(或更多,如果它将是)在这个ListView。

如果我有一个,我知道我可以使用DisplayMemberPath:

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

但是我怎样才能得到这样的结果呢?

"Name: Path"

(当然我指的是对象的属性值)

DisplayMemberPath用于ListView中的几个属性

一种方法是创建另一个只读属性来封装它们。

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

则可以将DisplayMemberPath设置为NamePath

您也可以覆盖ToString()方法而忽略设置DisplayMemberPath,这在某些情况下可能更优雅:

public class Person
{
    string Name { get; set; }
    string Path { get; set; }
    public override string ToString()
    {
        return Name + ": " + Path;
    }
}