El ejemplo siguiente xaml hace que cada elemento de tabulación comparta el mismo cuadro de texto. Tiene sentido, en algún nivel, supongo ... pero es un comportamiento inesperado, y casi se siente como un error. Y no pude encontrar ninguna información en los documentos explicando el comportamiento o cómo solucionarlo correctamente.TabItems de TabControl que comparten el mismo contenido ... No querer
<TabControl>
<TabControl.Resources>
<Style TargetType="TabItem">
<Setter Property="ContentTemplate">
<Setter.Value>
<DataTemplate>
<TextBox />
</DataTemplate>
</Setter.Value>
</Setter>
</Style>
</TabControl.Resources>
<TabItem Name="tab1" />
<TabItem Name="tab2" />
</TabControl>
Al cambiar entre Tab1 y Sep2, se utiliza el mismo cuadro de texto, cuando yo esperaría un nuevo cuadro de texto para cada ficha. ¿Cómo puedo obtener el último caso?
Subclasificar TabItem y hacer que su contenido sea un TextBox por defecto es una forma de hacerlo, pero solo quiero asegurarme de que no me falta algo.
Editar
que darse cuenta que establecer explícitamente el contenido de cada pestaña va a resolver el problema, pero las pestañas se van a crear de forma dinámica. Quiero usar la plantilla de contenido para poder agregar pestañas nuevas mediante el enlace de datos y no compartir el contenido, ya que está causando un comportamiento peculiar.
Tal vez con la implementación actual de TabControl, no hay un enfoque declarativo para resolver esto. Es bastante trivial configurar el contenido en código, pero tales cosas siempre se sienten mal en WPF. Para mí, esto parece una optimización injustificada de TabControl; debería al menos ser opcional para situaciones donde no es práctico.
¿Cuál es su objetivo? Estoy seguro de que podemos encontrar una solución a su problema de una manera diferente, una vez que sabemos que =) – hkon
No tengo una buena solución para ese problema, pero estoy realmente interesado en las respuestas que puedan surgir. .. Este comportamiento es un verdadero dolor. A veces tiene sentido que la plantilla de contenido se comparta entre pestañas, pero a menudo no es así, generalmente cuando se hace una interfaz de documento con pestañas –
@hkon: quiero que cada pestaña tenga su propio contenido como se define en la plantilla de compartir una sola instancia entre pestañas. El enlace de datos funciona para mantener los datos vinculados sincronizados entre pestañas, pero esto puede causar algunos problemas. Tal vez el usuario ajustó una barra de desplazamiento en una sola pestaña, y su posición se olvida luego de volver a ella. – Siege