ListBox показывает одно свойство в разных строках - PullRequest
0 голосов
/ 12 апреля 2011

Я использую следующий код для привязки ListBox к списку, т.е. List, и задаю привязку Path = Name.Но в списке отображается только одно имя с буквой, разделенной на строки.Как и в случае, если Имя равно JOHN, строка 1 списка показывает «J», строка 2 показывает «O», строка 3 показывает «H», строка 4 показывает «N».Вот код:

Xaml

<ListBox Height="Auto" ItemsSource="{Binding Path=Name}" HorizontalAlignment="Stretch" Margin="0,80,0,0" Name="ledgerListView" VerticalAlignment="Stretch" Width="200" KeyDown="ledgerListView_KeyDown" MouseDoubleClick="ledgerListView_MouseDoubleClick" IsSynchronizedWithCurrentItem="True" />

Код позади

List<Ledgers> ledgers = new List<Ledgers>();
        ledgers = DAL_Ledgers.LoadLedgers();
        this.DataContext = ledgers;

Ответы [ 3 ]

2 голосов
/ 12 апреля 2011

Свойство ItemsSource должно быть связано с исходной коллекцией, из которой вы хотите сгенерировать элементы списка.В этом случае это будет просто DataContext.Чтобы показать имя для каждого элемента, вы можете применить DataTemplate к свойству ItemTemplate, содержащему то, что вы хотите показать для каждого элемента, или для простого случая, подобного этому, просто используйте DisplayMemberPath, чтобы указать свойство Name.

<ListBox ItemsSource="{Binding}" DisplayMemberPath="Name" x:Name="ledgerListView"/>
1 голос
/ 12 апреля 2011

Похоже, вы привязываетесь не к тому ... Работает ли это, если вы используете:

<ListBox ItemsSource="{Binding}" ...>
  <ListBox.ItemTemplate>
    <DataTemplate>
      <sdk:Label Content="{Binding Path=Name}" />
    </DataTemplate>
  </ListBox.ItemTemplate>
</ListBox>
0 голосов
/ 12 апреля 2011

Кроме того, вы можете использовать ObservableList, иначе изменения в регистрах не будут приняты во внимание.

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