3

Lors de la création d'un groupe, Windows Ribbon Framework prend en charge some predefined layouts. Une des dispositions, qui nécessite quatre boutons est appelée FourButtons.Windows 7 Ruban: Comment spécifier "Quatre boutons, deux grands, deux petits"?

Cette disposition prend en charge 3 tailles différentes, Grand, moyen et Petit. Dans chaque cas, il donne les dispositions:

Grand:

enter image description here

moyen:

enter image description here

Petit:

enter image description here

En ce moment je suis en utilisant le FourButtons modèle prédéfini dans mon fichier xml comme:

<?xml version="1.0" encoding="utf-8"?> 
<Application xmlns="http://schemas.microsoft.com/windows/2009/Ribbon"> 
    ... 
    <Application.Views> 
     <Ribbon> 
     ... 
     <Ribbon.Tabs> 
      <Tab CommandName="tabHome"> 
       <Group CommandName="grpActivity" SizeDefinition="FourButtons"> 
        <Button CommandName="cmdStartWorking" /> 
        <Button CommandName="cmdStopWorking" /> 
        <Button CommandName="cmdPrint" /> 
        <Button CommandName="cmdDuplicateTicket" /> 
       </Group> 
      </Tab> 
     </Ribbon.Tabs> 

     </Ribbon> 
    </Application.Views> 
</Application> 

Et vous pouvez voir la ligne

<Group CommandName="grpActivity" SizeDefinition="FourButtons"> 

qui spécifie le modèle de mise en page FourButtons.

Et ma mise en page est FourButtons:

alt text http://i37.tinypic.com/15oupgk.jpg

Sauf que je ne veux pas FourButtons mise en page, je veux "quatre boutons, deux grands deux petits".

De la même façon qu'il n'y a ThreeButtons-OneBigAndTwoSmall:

enter image description here

Et il y a une FiveButtons:

enter image description here

je veux un FourButtons-TwoBigTwoSmall, que je peux manuellement mockup:

alt text http://i38.tinypic.com/30uy9ah.jpg

Malheureusement la programmation déclarative that Microsoft invented for creating custom layouts me confond en tant que programmeur.

Quelqu'un peut-il déchiffrer l'exemple de langage déclaratif au bas de la page et trouver un modèle FourButton-TwoBigTwoSmall?

Remarque: Tous les jolis graphismes, mises en forme, liens et autres éléments sont utilisés pour attirer les écureuils - qui aiment les graphiques brillants. Et si vous lisez réellement jusqu'ici, je pourrais utiliser votre aide.

Répondre

2

vous devez utiliser BigButtonsAndSmallButtonsOrInputs SizeDefinition

par exemple

 <Group CommandName="cmdGroupBatch" SizeDefinition="BigButtonsAndSmallButtonsOrInputs"> 
     <ControlGroup> 
      <Button CommandName="cmdButtonGetBatch" /> 
      <Button CommandName="cmdButtonPutBatch" /> 
     </ControlGroup> 
     <ControlGroup> 
      <Button CommandName="cmdButtonSaveBatch" /> 
      <Button CommandName="cmdButtonDiscartBatch" /> 
     </ControlGroup> 
     </Group> 

suffit de vérifier, si votre groupe a Taille = "Large" dans votre Tab.ScalingPolicy.

+0

j'ai eu finalement compris. Ce n'est certainement pas une chose facile à faire. Mais je vais vous donner le crédit pour une solution presque aussi bonne. Et aussi puisque vous êtes le seul à avoir jamais répondu en 41 vues. –

1

Je l'ai finalement compris.

La première est la carte de contrôle, qui exige que le groupe ait (dans ce cas) quatre boutons. En ayant quatre entrées dans le ControlNameMap nous demandons que le groupe utilisant cette définition de taille ait en réalité quatre boutons.

<ControlNameMap> 
    <ControlNameDefinition Name="button1"/> 
    <ControlNameDefinition Name="button2"/> 
    <ControlNameDefinition Name="button3"/> 
    <ControlNameDefinition Name="button4"/> 
</ControlNameMap> 

Les quatre boutons sont données alias:

  • button1
  • button2
  • button3
  • button4

afin qu'ils puissent être référencé dans les définitions à suivre. Le premier est le Grand modèle:

<GroupSizeDefinition Size="Large"> 
    <ControlSizeDefinition ControlName="button1" ImageSize="Large" IsLabelVisible="true" /> 
    <ControlSizeDefinition ControlName="button2" ImageSize="Large" IsLabelVisible="true" /> 
    <ColumnBreak ShowSeparator="true"/> 
    <ControlSizeDefinition ControlName="button3" ImageSize="Large" IsLabelVisible="true" /> 
    <ControlSizeDefinition ControlName="button4" ImageSize="Large" IsLabelVisible="true" /> 
</GroupSizeDefinition> 

qui provoque deux gros boutons, un séparateur et un autre 2 gros boutons.

Le modèle moyen :

<GroupSizeDefinition Size="Medium"> 
    <ControlSizeDefinition ControlName="button1" ImageSize="Large" IsLabelVisible="true" /> 
    <ControlSizeDefinition ControlName="button2" ImageSize="Large" IsLabelVisible="true" /> 
    <ColumnBreak ShowSeparator="true"/> 
    <Row> 
     <ControlSizeDefinition ControlName="button3" ImageSize="Small" IsLabelVisible="true" /> 
    </Row> 
    <Row> 
     <ControlSizeDefinition ControlName="button4" ImageSize="Small" IsLabelVisible="true" /> 
    </Row> 
</GroupSizeDefinition> 

provoque deux gros boutons, un séparateur, puis deux rangées (avec chaque rangée contenant une petite touche).

Le petit modèle:

<GroupSizeDefinition Size="Small"> 
    <Row> 
     <ControlSizeDefinition ControlName="button1" ImageSize="Small" IsLabelVisible="true" /> 
     <ControlSizeDefinition ControlName="button3" ImageSize="Small" IsLabelVisible="false" /> 
    </Row> 
    <Row> 
     <ControlSizeDefinition ControlName="button2" ImageSize="Small" IsLabelVisible="true" /> 
     <ControlSizeDefinition ControlName="button4" ImageSize="Small" IsLabelVisible="false" /> 
    </Row> 
</GroupSizeDefinition> 

provoque deux lignes, de deux petits boutons dans chacun, à apparaître.


Apporter tous ensemble:

<Group CommandName="grpActivity" > 
    <SizeDefinition> 
     <ControlNameMap> 
      <ControlNameDefinition Name="button1"/> 
      <ControlNameDefinition Name="button2"/> 
      <ControlNameDefinition Name="button3"/> 
      <ControlNameDefinition Name="button4"/> 
     </ControlNameMap> 
     <GroupSizeDefinition Size="Large"> 
      <ControlSizeDefinition ControlName="button1" ImageSize="Large" IsLabelVisible="true" /> 
      <ControlSizeDefinition ControlName="button2" ImageSize="Large" IsLabelVisible="true" /> 
      <ColumnBreak ShowSeparator="true"/> 
      <ControlSizeDefinition ControlName="button3" ImageSize="Large" IsLabelVisible="true" /> 
      <ControlSizeDefinition ControlName="button4" ImageSize="Large" IsLabelVisible="true" /> 
     </GroupSizeDefinition> 
     <GroupSizeDefinition Size="Medium"> 
      <ControlSizeDefinition ControlName="button1" ImageSize="Large" IsLabelVisible="true" /> 
      <ControlSizeDefinition ControlName="button2" ImageSize="Large" IsLabelVisible="true" /> 
      <ColumnBreak ShowSeparator="true"/> 
      <Row> 
       <ControlSizeDefinition ControlName="button3" ImageSize="Small" IsLabelVisible="true" /> 
      </Row> 
      <Row> 
       <ControlSizeDefinition ControlName="button4" ImageSize="Small" IsLabelVisible="true" /> 
      </Row> 
     </GroupSizeDefinition> 
     <GroupSizeDefinition Size="Small"> 
      <Row> 
       <ControlSizeDefinition ControlName="button1" ImageSize="Small" IsLabelVisible="true" /> 
       <ControlSizeDefinition ControlName="button3" ImageSize="Small" IsLabelVisible="false" /> 
      </Row> 
      <Row> 
       <ControlSizeDefinition ControlName="button2" ImageSize="Small" IsLabelVisible="true" /> 
       <ControlSizeDefinition ControlName="button4" ImageSize="Small" IsLabelVisible="false" /> 
      </Row> 
     </GroupSizeDefinition> 
    </SizeDefinition> 

    <Button CommandName="cmdStartWorking" /> 
    <Button CommandName="cmdStopWorking" /> 
    <Button CommandName="cmdPrint" /> 
    <Button CommandName="cmdDuplicateTicket" /> 
</Group> 
Questions connexes