Привязка данных (Data Binding) в Silverlight - ListBox и привязка к списку
ОГЛАВЛЕНИЕ
ListBox и привязка к списку
Наконец, мы подошли к главам (Chapters). Объект Book определяет главы (Chapters) в качестве списка строк
public List<string> Chapters
{
get { return myChapters; }
set
{
myChapters = value;
NotifyPropertyChanged("Chapters");
}
}
При отображении книги главы будут отображены в элементе ListBox. При выборе новой книги будут отображены и ее главы. Вы можете произвести итерацию по главам книги и создать новый набор ListItems, но и в этом случае есть вероятность допустить ошибку. Опять же, привязка данных (Data-binding) будет более подходящим решением.
Поскольку DataSource для Title и Author (для текущей книги) также будет иметь правильный список глав (Chapters), то вы можете назначить свойству Chapter объекта Book свойство ItemSource элемента List Box, и когда будет изменен DataSource, то главы будут изменены соответственно,
<ListBox x:Name="Chapters"
ItemsSource="{Binding Chapters, Mode=OneWay}"
VerticalAlignment="Bottom"
HorizontalAlignment="Left"
Height="60" Width="200"
Grid.Row="2" Grid.Column="1" />
Следующие два изображения демонстрируют новую информацию о двух книгах, отображенную во время перемещения пользователя между ними.
Рис. 2-5. Отображение первой книги
Рис. 2-6. Отображение второй книги