Я написал элемент управления Well, аналогичный вкладкам редактора Visual Studio, чтобы пользователь мог открыть несколько документов и одновременно просматривать один или несколько документов. Он является производным от UserControl и предоставляет ObservableCollection OpenDocuments, который привязывается к ViewModel. Если бы я реализовал это как простой TabControl, то это было бы так:
<TabControl
Grid.Row="1"
Grid.Column="1"
ItemsSource="{Binding OpenDocuments}"
SelectedItem="{Binding SelectedTab, Mode=TwoWay}">
<TabControl.ItemTemplate>
<DataTemplate>
<TextBlock
Text="{Binding Name}" />
</DataTemplate>
</TabControl.ItemTemplate>
<TabControl.ContentTemplate>
<DataTemplate>
<vw:DocumentView />
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Это дает мне имя в заголовке tabitem и DocumentView (еще один пользовательский элемент управления в области содержимого).
Мой элемент управления имеет ContentTemplate, но он, конечно, представляет весь элемент управления, поэтому все, что я вижу, - это DocumentView. У моего элемента управления нет ItemTemplate.
Как мне выставить ItemTemplate и ContentTemplate?
Andrew
РЕДАКТИРОВАТЬ ---------------------------------------------- ---------------------------
Спасибо за ответы. Это выглядит так:
Пользователь может иметь одну или несколько лунок для документов, содержащих одну или несколько вкладок. Все, к чему имеет доступ потребитель, - это список видимых вкладок и выбранный в данный момент вкладка.
Обратите внимание, что все вкладки пусты! Я не понимаю, как указать ContentTemplate для так же, как в приведенном выше примере с TabControl.
Andrew