Я просто хочу понять следующий сценарий. Где я реализую <TabControl>, связанный с ObservableCollection<TabViewModel>
Нет шаблонов данных
Когда у меня нет DataTemplate s, текст WpfApplication1.TabViewModel появляется в заголовке и контенте. Хорошо, я понимаю эту часть.
Просто ItemTemplate
Когда у меня только
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TabTitle}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
Затем заголовок моей вкладки заполняется. Содержимое вкладки все еще WpfApplication1.TabViewModel.
Просто DataTemplate
Когда у меня есть только что ниже в <Window.Resources>
<DataTemplate DataType="{x:Type local:TabViewModel}">
<TextBox Text="{Binding Text}" />
</DataTemplate>
Эти шаблоны заполняют заголовок вкладки.
И
Когда у меня есть оба, ItemTemplate заполняет заголовок вкладки, а DataTemplate заполняет содержимое вкладки. Почему все это различие. ItemTemplate и DataTemplate заполняет заголовок вкладки, если другой нет. Если оба присутствуют, ItemTemplate заполняет заголовок, а DataTemplate заполняет содержимое.
Хотя у меня все работает, я очень смущен. Не должно ли что-то вроде <TabControl.HeaderTemplate> заполнять заголовок и <TabControl.ItemTemplate> заполнять контент?