Silverlight 3 - Динамические TabItems в TabControl - PullRequest
1 голос
/ 22 июня 2009

У меня есть ObservableCollection POCO (простые старые объекты CLR), которые я хочу представить в виде вкладок. Предпочтительно использовать шаблон MVVM, есть ли способ привязать коллекцию TabItems к количеству моей коллекции POCO?

Итак, в этом случае, если в моей коллекции 3 элемента, я бы хотел увидеть 3 элемента TabItems. Каждый элемент TabItem будет содержать одинаковые элементы управления в одном и том же месте, причем каждый элемент управления будет привязан к свойствам соответствующего объекта в коллекции.

Я просто ищу обзор подхода, который мог бы использовать, или ссылку на пример. Если вам нужна дополнительная информация, не стесняйтесь спрашивать.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 22 июня 2009

Я бы, вероятно, создал ObservableColletion с вашими элементами POCO. Затем вы можете привязать эту ObservableCollection к любому элементу управления визуализацией элемента Silverlight. Вам придется изменить шаблон рендеринга по умолчанию, чтобы создавать свои вкладки ... но с помощью этого метода ваши вкладки будут постоянно обновляться с элементами в коллекции без необходимости помещать код в код позади файла. *

UPDATE

Вот ссылка на форумы Silverlight, где кто-то создал TabControl с использованием ItemsControl с примером кода XAML:

http://silverlight.net/forums/t/12271.aspx

... просто прокрутите немного вниз, чтобы увидеть образец.

0 голосов
/ 26 августа 2009

Один из способов сделать это - использовать конвертер значений (IValueConverter) для возврата вашего POCO, заключенного в TabItem. Я разместил пример здесь как часть связанного вопроса. Существует также пример привязки xaml и внедрения ViewModel в качестве параметра в преобразователь значений.

/ JHD

...