Windows 7 Fita:Como especificar "Quatro botões, dois grandes, dois pequenos"?
-
25-09-2019 - |
Pergunta
Quando colocar para fora de um grupo, a faixa de opções do Windows Framework suporta alguns layouts pré-definidos.Um dos layouts, o que requer quatro botões é chamado de FourButtons
.
Este layout suporta 3 tamanhos diferentes, Grande, Médio, e Pequeno.Em cada caso, dá os layouts:
Grande:
Médio:
Pequeno:
Agora eu estou usando o FourButtons
modelo predefinido no meu arquivo xml como:
<?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 você pode ver a linha
<Group CommandName="grpActivity" SizeDefinition="FourButtons">
o que especifica o FourButtons
modelo de layout.
E o meu layout é FourButtons:
Exceto que eu não quero FourButtons layout, eu quero "Quatro Botões, Dois Grandes, Dois Pequenos".
Da mesma forma que há ThreeButtons-OneBigAndTwoSmall
:
E há um FiveButtons
:
eu quero um FourButtons-TwoBigTwoSmall
, o que eu posso manualmente maquete:
Infelizmente programação declarativa que a Microsoft inventou para a criação de layouts personalizados confunde-me como um programador.
Alguém pode decifrar a linguagem declarativa exemplo na parte inferior da página, e vem até com um FourButton-TwoBigTwoSmall modelo?
Nota: Todos os lindos gráficos, formatação, links, e outras coisas são utilizados para atrair os esquilos - que amor gráficos brilhantes.E se você realmente ler esta longe eu poderia na verdade, use sua ajuda.
Solução
você deve usar BigButtonsAndSmallButtonsOrInputs SizeDefinition
exemplo:
<Group CommandName="cmdGroupBatch" SizeDefinition="BigButtonsAndSmallButtonsOrInputs">
<ControlGroup>
<Button CommandName="cmdButtonGetBatch" />
<Button CommandName="cmdButtonPutBatch" />
</ControlGroup>
<ControlGroup>
<Button CommandName="cmdButtonSaveBatch" />
<Button CommandName="cmdButtonDiscartBatch" />
</ControlGroup>
</Group>
Basta verificar, se o seu Grupo tem Tamanho="Grande" no seu Guia.ScalingPolicy.
Outras dicas
eu finalmente fiz a descobrir.
O primeiro é o mapa de controle, que exige que o grupo tem (neste caso) de quatro botões.Por ter quatro entradas na ControlNameMap
exigimos que o grupo com este tamanho de definição, na verdade, tem quatro botões.
<ControlNameMap>
<ControlNameDefinition Name="button1"/>
<ControlNameDefinition Name="button2"/>
<ControlNameDefinition Name="button3"/>
<ControlNameDefinition Name="button4"/>
</ControlNameMap>
Os quatro botões de aliases:
button1
button2
button3
button4
de modo que eles podem ser referenciados nas definições a seguir.O primeiro é o Grande modelo:
<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>
o que faz com que dois botões grandes, um separador, e o outro 2 botões grandes.
O médio modelo:
<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>
faz com que os dois botões grandes, um separador e, em seguida, duas linhas (com cada linha que contém um pequeno botão).
O pequeno modelo:
<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>
faz com que duas linhas, de dois pequenos botões em cada um, para aparecer.
Juntando tudo isso:
<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>