Вопрос списка Silverlight - PullRequest
       17

Вопрос списка Silverlight

0 голосов
/ 24 марта 2011

Я использую listBox.ItemsSource = e.Result.Persons, который представляет собой набор людей.Окно списка показывает реальные имена объектов, когда я хотел бы, чтобы оно отображало имя каждого объекта-человека.Как я могу это сделать?

Ответы [ 4 ]

1 голос
/ 24 марта 2011

использовать ListBes ItemTemplate. как то так.

<ListBox>
<ListBox.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding FirstName}"/>
</ListBox.ItemTemplate>
</DataTemplate>
</ListBox>
0 голосов
/ 04 апреля 2011

Можно переопределить метод ToString () объекта Persons, чтобы он отображал имя человека.

0 голосов
/ 24 марта 2011

Или используйте выделенное свойство «DisplayMemberPath» , которое делает то, что вам нужно, без каких-либо побочных эффектов (или дополнительной разметки):

<ListBox DisplayMemberPath="FirstName" />

Для более сложных представлений элементов используйте шаблоны (см. Ниже).

0 голосов
/ 24 марта 2011

В дополнение к методу привязки, указанному в другом ответе, вы можете просто связать его следующим образом:

listBox.ItemsSource = e.Result.Persons.Select(d => new { FirstName });
...