TabControl.ItemTemplate: establece TabItem.Header.Text en un MultiBinding con StringFormat

¿Cómo configuro el TabItem.Header para los enlaces tomados de algunos campos, cada enlace se muestra en un tamaño diferente, todo en lugar del texto del encabezado original; Sin anular el estilo y el comportamiento predeterminados del encabezado, solo necesito el texto.

Intenté establecer su plantilla, pero luego crea un rectángulo que contiene los controles internos, y este rectángulo no responde a los clics del usuario, y también tiene el estilo de control. Quiero que estos controles sean invisibles, solo su texto debe ser visible. .

He intentado lo siguiente:

<TabControl ItemsSource="{Binding}">
    <TabControl.ItemTemplate>
         <DataTemplate>
             <TabItem>
                 <TabItem.Header>
                     <MultiBinding StringFormat="{}{0}-{1}">
                         <Binding Path="Title"/>
                         <Binding Path="Category.Title"/>
                     </MultiBinding>
                 </TabItem.Header>
                 <TabItem.Content>
                     <TextBlock>
                         Here is what is gonna be in the TabItem - not header
                     </TextBlock>
                 </TabItem.Content>
             </TabItem>
         </DataTemplate>
    </TabControl.ItemTemplate>
</TabControl>

Pero no muestra nada.

También he intentado establecer HeaderTemplate en DataTemplate, pero lo que sucede es que DataTemplate anula el estilo TabItem y cuando hago clic en el texto no va a la pestaña en la que se hace clic, además, las pestañas no seleccionadas se ven muy divertidas, veo el rectángulo del texto flotante, mientras que quiero que sea transparente.

Entonces, para resumir mi pregunta, Quiero establecer TabItem.Header.Text en un MultiBinding con StringFormat.

Respuestas a la pregunta(1)

Su respuesta a la pregunta