Привязка WPF Listview к ItemSource? - PullRequest
18 голосов
/ 08 февраля 2010

У меня есть следующий вид списка, но он не показывает реальные записи, а только пространство имен объекта. Я задавался вопросом, нужно ли мне создавать столбцы в XAML, чтобы он отображал записи, а затем связывать его с некоторыми свойствами объекта или что с этим не так?

<ListView
            Name="ListCustomers"
            ItemsSource="{Binding Path=ListOfCustomers}"
            SelectedItem="{Binding Path=SelectedCustomer}"
            SelectionMode="Single"
            IsSynchronizedWithCurrentItem="True"
            HorizontalAlignment="Stretch"
            VerticalAlignment="Stretch"
            MinHeight="100"

            ></ListView>

ListOfCustomers - это тип ObservableCollection<Customer>. Фактические клиенты загружаются в ObservableCollection, но они не отображаются. Чего не хватает?

Ответы [ 3 ]

40 голосов
/ 08 февраля 2010

Вам также необходимо выбрать столбцы для отображения:

<ListView ItemsSource="{Binding ListOfCustomers}"
          SelectedItem="{Binding Path=SelectedCustomer}"
          ....>
  <ListView.View>
    <GridView>
      <GridViewColumn Width="140" Header="First Name"
         DisplayMemberBinding="{Binding FirstName}"  />
      <GridViewColumn Width="140" Header="Last Name"  
         DisplayMemberBinding="{Binding LastName}" />
      <GridViewColumn Width="140" Header="Email Address"
         DisplayMemberBinding="{Binding Email}" />
      ....
    </GridView>
  </ListView.View>
</ListView>
4 голосов
/ 08 февраля 2010

Вы также можете попробовать

<ListView
.
.
ItemTemplate="{StaticResource CustomerDataTemplate}"
.
.
/>

где CustomerDataTemplate - это класс DataTemplate для класса Customer ...

0 голосов
/ 08 февраля 2010

Это потому, что вы не установили свойство DataContext объекта ListView с экземпляром, который предоставляет свойство ListOfCustomers (которое возвращает список отображаемых элементов)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...