Для отображения элементов в ListBox
вам необходимо сделать следующее:
Во-первых, вам нужно определить шаблон элемента для вашего ListBox
, чтобы вы могли указать, как будут выглядеть элементы списка.лайк.Для простоты я связал только свойства name
и author
из класса Book
.
XAML
<ListBox Name="SearchList">
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding author}"></TextBlock>
<TextBlock Text="{Binding name}"></TextBlock>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
Я бы рекомендовал использовать ObservableCollection вместо простого List
, поскольку вы хотите обновить списокэлементы, основанные на том, что пользователь ищет.
private ObservableCollection<Book> lstBook = new ObservableCollection<Book>();
Далее, в событии Loaded
страницы (или любом другом событии, которое может потребоваться в зависимости от ваших требований) установите ItemSource
из ListBox
равным ObservableCollection
, который вы создали (listBook
).
private void Page_Loaded(object sender, RoutedEventArgs e)
{
//Setting item source of the list box
SearchList.ItemsSource = lstBook;
//Adding an entry to lstBook
AddBookM(1, "auth", "des", "name", 2.55f, 10, DateTime.Now, "edition");
}
Теперь вы должны увидеть запись, добавленную в список.Преимущество использования ObservableCollection
в этом сценарии состоит в том, что всякий раз, когда вы вносите изменения (добавляете / удаляете) любой элемент в ObservableCollection<Book> lstBook
, ваш пользовательский интерфейс будет автоматически обновляться.
Таким образом, когда вы снова вызываете AddBookM()
,Вы увидите, что новая запись также добавлена в ListBox
.
Надеюсь, это поможет.