2010-02-03 21 views
6

Tengo un WPF TabControl que quiero colocar las pestañas con un TabStripPlacement de Top, pero quiero que se muestren con una orientación correcta en la parte superior. Lo logré fácilmente haciendo un FlowDirection de RightToLeft; sin embargo, no quiero que los controles de los niños hereden el RightToLeftFlowDirection.Tabulaciones de posición de WPF TabControl en la esquina superior derecha

¿Hay alguna manera de colocar las pestañas en la parte superior a la derecha sin usar la propiedad FlowDirection?

Respuesta

4

No estoy seguro de esto, siempre puede intentar crear un estilo personalizado para el TabControl para especificar cómo se distribuyen las pestañas. Como alternativa, simplemente use FlowDirection y especifique FlowDirection como LeftToRight en cada uno de los TabItem, de modo que los controles secundarios se muestren normalmente.

+0

¡Gracias por tomarse el tiempo para responder! Debo aclarar que estoy configurando la FlowDirection de cada TabItem en LeftToRight, que funciona en el lado de la pantalla. Estoy tratando de lograr lo siguiente: http://www.grumpydev.com/2009/01/03/taking-wpf-screenshots/. Las capturas de pantalla se capturan, pero están retrógradas cuando TabControl FlowDirection está configurado en RightToLeft. – Aaron

+1

Tomé su sugerencia y usé un estilo personalizado y configuré la etiqueta FlowDirection de la etiqueta TabPanel así: . Luego dejé FlowDirection de TabControl en RightToLeft. Esto logró lo que estaba buscando. ¡Gracias de nuevo! – Aaron

+0

No hay problema, me alegro de poder ayudar :-) – TabbyCool

5

Esta pregunta es antigua, pero es lo que surgió cuando busqué en google. La respuesta no era realmente lo que quería. Así que investigué esto en Expresion Blend. Decidí que el TabPanel necesita tener el estilo HorizontalAlignment = "Right". Entonces para el futuro, es tan fácil como esto:

<TabControl> 
    <TabControl.Resources> 
     <Style TargetType="TabPanel"> 
      <Setter Property="HorizontalAlignment" Value="Right"/> 
     </Style> 
    </TabControl.Resources> 
    <TabControl.Items> 
     <TabItem Header="Tab 1"></TabItem> 
     <TabItem Header="Tab 2"></TabItem> 
     <TabItem Header="Tab 3"></TabItem> 
    </TabControl.Items> 
</TabControl> 

Avíseme si ve algún problema con esto.

+0

Easy peasy - ¡Gracias +1! – Ben

Cuestiones relacionadas