How to build vertical tab sets in WPF? The tabs will stack up in top-to-bottom just like the "Properties" of a project shown in visual studio.
Have you tried the TabControl.TabStripPlacement
Property?
The following example creates a tab control that positions the tabs on the left side.
<TabControl TabStripPlacement="Left" Margin="0, 0, 0, 10">
<TabItem Name="fontweight" Header="FontWeight">
<TabItem.Content>
<TextBlock TextWrapping="WrapWithOverflow">
FontWeight property information goes here.
</TextBlock>
</TabItem.Content>
</TabItem>
<TabItem Name="fontsize" Header="FontSize">
<TabItem.Content>
<TextBlock TextWrapping="WrapWithOverflow">
FontSize property information goes here.
</TextBlock>
</TabItem.Content>
</TabItem>
</TabControl>
You should try this code:
<TabControl.Resources>
<Style TargetType="{x:Type TabItem}">
<Setter Property="HeaderTemplate">
<Setter.Value>
<DataTemplate>
<ContentPresenter Content="{TemplateBinding Content}">
<ContentPresenter.LayoutTransform>
<RotateTransform Angle="270" />
</ContentPresenter.LayoutTransform>
</ContentPresenter>
</DataTemplate>
</Setter.Value>
</Setter>
<Setter Property="Padding" Value="3" />
</Style>
</TabControl.Resources>
Based on rkirac's answer above. If you don't want to create a global style, you can put the same stuff inside TabControl.ItemContainerStyle
that will only affect the TabControl
in question. Following is a simple example:
<TabControl TabStripPlacement="Left">
<TabControl.ItemContainerStyle>
<Style TargetType="TabItem">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="270" />
</Setter.Value>
</Setter>
</Style>
</TabControl.ItemContainerStyle>
</TabControl>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With