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.