DisplayMemberPath для нескольких свойств в ListView - PullRequest
1 голос
/ 14 сентября 2011

У меня есть простой класс

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 ]

4 голосов
/ 14 сентября 2011

Один из способов сделать это - создать другое свойство только для чтения, чтобы обернуть их.

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

, тогда вы можете просто установить DisplayMemberPath на NamePath

2 голосов
/ 05 июня 2013

Вы также можете переопределить метод ToString() и опустить настройку DisplayMemberPath, которая в некоторых случаях может быть более элегантной:

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

    public override string ToString()
    {
        return Name + ": " + Path;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...