2010-06-07 13 views
10

¿Cómo puedo agregar el separador vertical a la cinta WPF, a RibbonGroup? He intentado algo así, pero obtuve un separador horizontal en lugar de vertical.Separador vertical en WPF Cinta

<r:RibbonGroup> 
<r:RibbonButton Command="{StaticResource SomeButton}" />  
<r:RibbonSeparator></r:RibbonSeparator> 
<r:RibbonToggleButton IsChecked="False" Command="{StaticResource AnotherButton}"/></r:RibbonToggleButton> 
</r:RibbonGroup> 

Entonces, ¿cómo puedo hacer el separador vertical?

+0

¿Qué control de la cinta está usando? ¿Y qué versión de .NET/WPF? –

+0

Utilizo Ribbon de RibbonControlsLibrary (Microsoft.Windows.Controls.Ribbon) y 3.5 .NET Framework – Marta

Respuesta

10

Ésta es la forma en que lo haría.

<ribbon:RibbonGroup.Resources> 
    <!-- Vertical Separator--> 
    <Style TargetType="{x:Type ribbon:RibbonSeparator}" 
      x:Key="KeyRibbonSeparatorVertical"> 
     <Setter Property="LayoutTransform"> 
      <Setter.Value> 
       <RotateTransform Angle="90"/> 
      </Setter.Value> 
     </Setter> 
    </Style> 
</ribbon:RibbonGroup.Resources> 
+0

Esta solución funciona en la nueva versión de Ribbon. La solución con RibbonLabel no funciona ahora porque no hay RibbonLabel en la nueva cinta wpf. – Marta

2

Puede usar un RibbonLabel, que puede alojar cualquier control en un RibbonGroup. ¡Resulta muy útil!

Para un separador de línea vertical, puede intentar esto:

<ribbon:RibbonLabel> 
    <Rectangle Height="56" Margin="2,0" Stroke="Silver"/> 
</ribbon:RibbonLabel> 

(Por supuesto, usted puede estilo como mejor le parezca para la aplicación ..)

+0

¡Muchas gracias! Funcionó como yo quería :) – Marta

5

Parece que este doesn' Ya funciona en la última versión (3.5.40729.1). El RibbonSeparator también doesn; t trabajo, pero se puede utilizar:

<Ribbon:RibbonControlGroup Height="55" Margin="5" Width="1" MinHeight="55" MaxWidth="1"/> 
1

Usted puede envolver lo que tiene en un RibbonGroup, un separador vertical es creado a la derecha del grupo.

Vertical Ribbon Separator using RibbonGroup as wrapper

Todo lo que hice estaba envuelto el primer botón en un RibbonGroup.

<ribbon:RibbonTab x:Name="HomeTab" 
        Header="Home"> 
    <ribbon:RibbonGroup x:Name="Group1" 
         Header="Group1"> 
     <ribbon:RibbonGroup> 
      <ribbon:RibbonButton x:Name="Button1" 
          LargeImageSource="Images\LargeIcon.png" 
          Label="Button1" Margin="-5" /> 
     </ribbon:RibbonGroup> 

     <ribbon:RibbonButton x:Name="Button2" 
          SmallImageSource="Images\SmallIcon.png" 
          Label="Button2" /> 
     <ribbon:RibbonButton x:Name="Button3" 
          SmallImageSource="Images\SmallIcon.png" 
          Label="Button3" /> 
     <ribbon:RibbonButton x:Name="Button4" 
          SmallImageSource="Images\SmallIcon.png" 
          Label="Button4" /> 
    </ribbon:RibbonGroup> 

</ribbon:RibbonTab> 
0

Esto funcionó para mí:

<Border Width="1" Margin="3" Height="175" Visibility="Visible" Background="#FFB9C9DA" /> 
+0

o si desea evitar el uso del color codificado vinculante para Background = "{Binding Path = BorderBrush, RelativeSource = {RelativeSource FindAncestor, AncestorType = {x: Type my: Ribbon}}}" – akovar

Cuestiones relacionadas