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:

enter image description here

Médio:

enter image description here

Pequeno:

enter image description here

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:

alt text

Exceto que eu não quero FourButtons layout, eu quero "Quatro Botões, Dois Grandes, Dois Pequenos".

Da mesma forma que há ThreeButtons-OneBigAndTwoSmall:

enter image description here

E há um FiveButtons:

enter image description here

eu quero um FourButtons-TwoBigTwoSmall, o que eu posso manualmente maquete:

alt text

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.

Foi útil?

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top