Использование DataBinding и DataTemplate при помощи Expression Blend в Silverlight - Создание шаблона для элементов списка в Blend

ОГЛАВЛЕНИЕ

Создание шаблона для элементов списка в Blend

До того, как мы продолжим, давайте удалим шаблон для элементов списка и заново создадим его в Blend. Мы просто удалим его и заново закроем ListBox. Затем мы заново обработаем приложение и откроем его в Blend. В Blend мы щелкнем на ListBox и затем выберем Object > EditOtherTemplates > EditItemTemplate > Create Empty, как это показано на рисунке 7-20

Рисунок 7-20. Создание ListItemTemplate в Blend

Как только вы выберете данный пункт, вам предоставят диалоговое окно ресурсов шаблона данных (DataTmeplate Resource), как показано на рисунке 7-21, где вы можете решить, стоит ли вам создавать шаблон данных для всего приложения, или же для конкретного документа (чаще всего выбирается стандартная опция сохранения шаблона в документе)

Рисунок 7-21. Диалоговое окно создания DataTemplate (Create DataTemplate)

Обратите внимание на то, что в бета-версии существует ошибка и если вы откроете нижний выпадающий список и выберете ListBox вместо стандартного “user Control”, то ваш код будет скомпилированневерно

Нажав на кнопку OK, вы создадите пустой шаблон, который затем сможете заполнить, как и любой другой элемент пользовательского интерфейса (более того, Blend начинает с элемента Grid). Мы добавим элемент StackPanel к нему , как это показано на рисунке 7-22. Расположив StackPanel, мы можем перетащить текстовые поля точно так же, как мы бы сделали это с любыми другими элементами управления.

Рисунок 7-22. Создание DataStackPanel для ListItem

При создании шаблона элементов списка нам необходимо привязать набор Books в качестве источника данных к текстовым полям, а также поля к свойствам класса Book, как это сделано на рисунке 7-23

Рисунок 7-23. Привязка свойств класса Book

Обратите внимание на то, что вы создаете BookDS точно так же, как вы создали LibraryDS, нажав на кнопку +CLR object.