2011-12-21 21 views
5

Según the MSDN documentation, una cinta: RibbonControlSizeDefinition se puede utilizar para controlar el tamaño de un elemento en una cinta WPF configurando la propiedad ControlSizeDefinition. ¿Alguien ha tenido éxito al usar esta propiedad? Encuentro que es completamente ignorado. Inicialmente lo configuré utilizando el enlace de datos, pero también intenté usar el código detrás del archivo.Control de nivel de elemento sobre tamaños de elemento de cinta usando cinta WPF (para .NET 4) y RibbonControlSizeDefinition

This question es similar, pero se señala correctamente en uno de los comentarios que el OP ha utilizado un RibbonControlGroup, y por lo tanto estaba viendo el comportamiento esperado.

Entiendo que, por lo general, es mejor permitir que la cinta haga lo propio con respecto al tamaño. Lamentablemente, esa no es una opción para este proyecto.

He enumerado la parte de mi código XAML que no funciona a continuación.

<ribbon:RibbonTab Header="MyTab"> 
     <ribbon:RibbonGroup Header="MyGroup"> 
      <ribbon:RibbonButton Label="My big button" Name="BigButton" 
           LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png" 
           SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png"> 
       <ribbon:RibbonButton.ControlSizeDefinition> 
        <ribbon:RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True" /> 
       </ribbon:RibbonButton.ControlSizeDefinition> 
      </ribbon:RibbonButton> 
      <ribbon:RibbonButton Label="My little button" Name="SmallButton" 
           LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png" 
           SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png"> 
       <ribbon:RibbonButton.ControlSizeDefinition> 
        <ribbon:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True" /> 
       </ribbon:RibbonButton.ControlSizeDefinition> 
      </ribbon:RibbonButton> 
     </ribbon:RibbonGroup> 
    </ribbon:RibbonTab> 

Respuesta

5

Después de un poco de experimentación, tengo una solución. Intenté usar el tamaño del nivel de grupo en lugar del tamaño del elemento, utilizando la propiedad list: RibbonGroup.GroupSizeDefinitions. Esto funciona como está documentado. Además, establecer esto en un RibbonGroupSizeDefinition vacío es suficiente para que las propiedades de nivel de elemento funcionen. Mi código de arriba se convierte en:

<ribbon:RibbonTab Header="MyTab"> 
    <ribbon:RibbonGroup Header="MyGroup"> 

      <ribbon:RibbonGroup.GroupSizeDefinitions> 
       <ribbon:RibbonGroupSizeDefinition> 
       </ribbon:RibbonGroupSizeDefinition> 
      </ribbon:RibbonGroup.GroupSizeDefinitions> 

     <ribbon:RibbonButton Label="My big button" Name="BigButton"         LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"         SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png"> 
       <ribbon:RibbonButton.ControlSizeDefinition> 
        <ribbon:RibbonControlSizeDefinition ImageSize="Large" IsLabelVisible="True" /> 
       </ribbon:RibbonButton.ControlSizeDefinition> 
     </ribbon:RibbonButton> 
     <ribbon:RibbonButton Label="My little button" Name="SmallButton"         LargeImageSource="Images\Ribbon\assignments_duties_a2k_32.png"         SmallImageSource="Images\Ribbon\assignments_duties_a2k_16.png"> 
       <ribbon:RibbonButton.ControlSizeDefinition> 
        <ribbon:RibbonControlSizeDefinition ImageSize="Small" IsLabelVisible="True" /> 
       </ribbon:RibbonButton.ControlSizeDefinition> 
     </ribbon:RibbonButton> 
    </ribbon:RibbonGroup> 
</ribbon:RibbonTab> 
+0

Fantástico, desearía poder votar más :-) – Karsten

+0

Gracias mucho. Agregué un RibbonButton que se volvió pequeño después de agregar nuevos, al menos en el diseño. Solo agregando el GroupSizeDefinitions parece haber resuelto el problema para mí ... Todos los iconos siguen siendo grandes ahora. –

Cuestiones relacionadas