2008-10-09 20 views
29

Intento crear un control de pestañas en WPF que tenga las pestañas dispuestas en el lado derecho del control, con el texto girado 90 grados El aspecto es similar a las pestañas de plástico puedes comprar y usar en un cuaderno. He intentado cambiar TabStripPlacement a Right, pero solo apila las pestañas en la parte superior derecha del control, no en absoluto lo que tenía en mente.Cómo colocar las pestañas WPF Tab Control en el lado

Respuesta

47

El efecto que creo que está buscando se logra al proporcionar una Plantilla de encabezado para el TabItem en su colección de pestañas.

<TabControl TabStripPlacement="Right"> 
    <TabControl.Resources> 
    <Style TargetType="{x:Type TabItem}"> 
     <Setter Property="Padding" Value="4" /> 
     <Setter Property="HeaderTemplate"> 
     <Setter.Value> 
      <DataTemplate> 
      <ContentPresenter Content="{TemplateBinding Content}"> 
       <ContentPresenter.LayoutTransform> 
       <RotateTransform Angle="90" /> 
       </ContentPresenter.LayoutTransform> 
      </ContentPresenter> 
      </DataTemplate> 
     </Setter.Value> 
     </Setter> 
    </Style> 
    </TabControl.Resources> 
    <TabItem Header="Tab Item 1" /> 
    <TabItem Header="Tab Item 2" /> 
    <TabItem Header="Tab Item 3" /> 
    <TabItem Header="Tab Item 4" /> 
</TabControl> 

Hope this helps!

+0

Si las pestañas son 'más largas' de lo que la cuadrícula es alta, ¿hay alguna manera de desplazar las pestañas para revelar las que no están visibles inicialmente? – Number8

+0

... o tiene varias columnas de pestañas, como ocurre cuando las pestañas están en la parte superior del control? – Number8

Cuestiones relacionadas