Solo quiero entender el siguiente escenario. Donde estoy poniendo en práctica un <TabControl>
unido a un plantillas Sin datos ObservableCollection<TabViewModel>
WPF: TabControl & DataTemplates
Cuando yo no tengo ningún DataTemplate
s, el texto WpfApplication1.TabViewModel
aparece en el encabezado Tab y contenido. Ok, entiendo esta parte.
Sólo ItemTemplate
Cuando acabo de
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding TabTitle}" />
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
Luego se llena el encabezado de mi ficha. El contenido de la pestaña sigue siendo WpfApplication1.TabViewModel
.
Sólo DataTemplate
Cuando sólo tengo el siguiente en mi <Window.Resources>
<DataTemplate DataType="{x:Type local:TabViewModel}">
<TextBox Text="{Binding Text}" />
</DataTemplate>
que las plantillas se llena la cabecera pestaña.
Tanto
Cuando tengo tanto, la ItemTemplate
llena la pestaña Cabecera mientras que el DataTemplate
llena el contenido de pestaña. Por qué toda esta diferencia ItemTemplate
& DataTemplate
llena el encabezado de tabulación si el otro no está presente. Si ambos están presentes, ItemTemplate
llena el encabezado mientras DataTemplate
llena el contenido.
Aunque tengo cosas que funcionan, estoy bastante confundido. ¿No debería ser algo como <TabControl.HeaderTemplate>
lo que llena el encabezado y <TabControl.ItemTemplate>
llenar el contenido?
Si quiero el cuadro de lista con el contenido y el elemento de control de pestaña, la fuente tendrá la lista de elementos para el cuadro de lista ... ¿Qué puedo hacer para esto? El cuadro de lista también tiene una plantilla de datos con él – Programmer
"Antes que nada, hay dos plantillas involucradas aquí ..." ¡Argh! Se podría pensar que la forma en que se especifica un TabItem fuera de un DataTemplate funciona de la misma manera en una propiedad TabControl ItemTemplate, ya que ListView et al. trabaja de esta manera ¡Gracias! – user1454265