Windows 7 Ribbon: come specificare “pulsanti Quattro, due grandi, due piccole”?
-
25-09-2019 - |
Domanda
Nel caso di posa su un gruppo, il quadro Ribbon di Windows supporta alcuni layout predefiniti . Uno dei layout, che richiede quattro i pulsanti si chiama FourButtons
.
Questo supporta layout di 3 diverse dimensioni, Grande , medio e Piccolo . In ogni caso dà i layout:
Grande :
medio :
Piccolo :
In questo momento sto usando il modello predefinito FourButtons
nel mio file XML come:
<?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>
E si può vedere la linea
<Group CommandName="grpActivity" SizeDefinition="FourButtons">
che specifica il modello di layout FourButtons
.
E il mio layout è FourButtons :
Solo che non voglio FourButtons il layout, voglio " Bottoni quattro, due Big Two Piccolo ".
Nello stesso modo che ci sia ThreeButtons-OneBigAndTwoSmall
:
E c'è un FiveButtons
:
voglio un FourButtons-TwoBigTwoSmall
, che posso manualmente mockup:
che Microsoft ha inventato per la creazione di layout personalizzati confonde me come programmatore.
Qualcuno può decifrare il linguaggio dichiarativo esempio nella parte inferiore della pagina e venire con un fourbutton-TwoBigTwoSmall modello?
Nota: Tutta la grafica carina, la formattazione, i collegamenti, e roba del genere vengono utilizzati per attirare gli scoiattoli - che amano lucidi grafici. E se effettivamente letto fin qui ho potuto effettivamente usare il vostro aiuto.
Soluzione
si dovrebbe usare BigButtonsAndSmallButtonsOrInputs SizeDefinition
per es.
<Group CommandName="cmdGroupBatch" SizeDefinition="BigButtonsAndSmallButtonsOrInputs">
<ControlGroup>
<Button CommandName="cmdButtonGetBatch" />
<Button CommandName="cmdButtonPutBatch" />
</ControlGroup>
<ControlGroup>
<Button CommandName="cmdButtonSaveBatch" />
<Button CommandName="cmdButtonDiscartBatch" />
</ControlGroup>
</Group>
controllo Basta, se il vostro gruppo ha size = "Large" nel vostro Tab.ScalingPolicy.
Altri suggerimenti
Alla fine ho fatto capire.
Innanzitutto è la mappa di controllo, che stabilisce che il gruppo ha (in questo caso) quattro pulsanti. Avendo quattro entrate nella ControlNameMap
abbiamo mandato che il gruppo utilizzando questa definizione formato ha effettivamente quattro pulsanti.
<ControlNameMap>
<ControlNameDefinition Name="button1"/>
<ControlNameDefinition Name="button2"/>
<ControlNameDefinition Name="button3"/>
<ControlNameDefinition Name="button4"/>
</ControlNameMap>
I quattro pulsanti sono date alias:
-
button1
-
button2
-
button3
-
button4
in modo che possano fare riferimento nelle definizioni da seguire. Il primo è il Grande template:
<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>
che provoca due grandi pulsanti, un separatore, e altri 2 grandi pulsanti.
Il medio template:
<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>
provoca due grandi pulsanti, un separatore, e poi due righe (con ciascuna riga contenente un pulsante piccolo).
Il piccolo template:
<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>
provoca due file, di due piccoli pulsanti ciascuna, ad apparire.
Mettere tutto insieme:
<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>