TabControl.ItemTemplate: установите для TabItem.Header.Text значение MultiBinding с помощью StringFormat.

Как установить TabItem.Header для привязок, взятых из нескольких полей, каждая привязка показана в другом размере, все вместо исходного текста заголовка; без переопределения стиля по умолчанию и поведения заголовка - мне нужен только текст.

Я попытался установить его шаблон, но затем он создает прямоугольник, который содержит внутренние элементы управления, и этот прямоугольник не реагирует на щелчки пользователя, а также имеет стиль элемента управления, я хочу, чтобы эти элементы управления были невидимыми, должен отображаться только его текст ,

Я пробовал следующее:

<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>

Но это ничего не показывает.

Я также пытался установить HeaderTemplate на DataTemplate, но в результате DataTemplate переопределяет стиль TabItem, и когда я щелкаю текст, он не переходит на нажатую вкладку, кроме того, невыбранные вкладки выглядят очень забавно, я вижу прямоугольник текста плавает, пока я хочу, чтобы он был прозрачным.

Итак, подведем итог моего вопросаЯ хочу установить TabItem.Header.Text для MultiBinding с StringFormat.

Ответы на вопрос(1)

Ваш ответ на вопрос