Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
A estrutura da Faixa de Opções do Windows usa uma linguagem de marcação baseada em XAML (Extensible Application Markup Language) para implementar declarativamente a aparência de um aplicativo da Faixa de Opções.
- Separando a apresentação da lógica de comando
- Estrutura de marcação
- Componentes da Faixa de Opções
- Tópicos relacionados
Separar a apresentação da lógica de comando
A separação da apresentação e dos atributos visuais da lógica de comando na estrutura da Faixa de Opções é realizada por meio de duas plataformas de desenvolvimento distintas, mas dependentes. Layouts de controle, comportamentos de escala, declarações de comando e especificações de recursos são o domínio de tempo de design de uma sintaxe de marcação declarativa baseada na especificação Extensible Application Markup Language (XAML). Funcionalidade de baixo nível, ganchos de aplicativo e manipuladores de comando são definidos em implementações de interface baseadas em COM (Component Object Model).
Essa separação entre apresentação e lógica oferece os seguintes benefícios:
- Um ciclo de desenvolvimento de aplicativos mais eficiente que permite que desenvolvedores e designers de interface do usuário implementem a GUI do aplicativo da Faixa de Opções independentemente da funcionalidade principal do aplicativo. Esta funcionalidade principal pode ser deixada para desenvolvedores de software dedicados.
- Manutenção menos dispendiosa porque as alterações à GUI são possíveis sem alterações à funcionalidade principal (e vice-versa).
- Especificação simples de recursos de string e imagem através de marcação.
- Facilidade de prototipagem.
Estrutura de marcação
Existem duas ramificações distintas dentro da estrutura da Faixa de Opções.
A primeira ramificação contém um manifesto de declarações de comando e recurso (cadeias de caracteres e imagens). Cada entrada de comando é utilizada pela framework para associar um controlo Ribbon, através de um Command ID, a um gestor de comandos definido no código da aplicação.
A segunda ramificação contém as declarações de controlo reais. Cada controlo está associado a um Comando através de um atributo CommandName que faz a correspondência com um atributo Name especificado em cada declaração de Comando.
Componentes da faixa de opções
A funcionalidade da UI do framework da faixa de opções é revelada através de Modos de Exibição. Uma vista é essencialmente um contentor, como a Faixa de Opções e o Contexto Popup , que é usado para apresentar controles de estrutura e os comandos aos quais eles estão vinculados.
A Visualização da Faixa de Opções é composta por vários componentes que incluem um Menu de Aplicativo , a Barra de Ferramentas de Acesso Rápido (QAT) para exibir Comandos comumente usados da interface do usuário da faixa de opções, guias principais e contextuais que contêm grupos de controles, e o rico sistema de menu de contexto do ContextPopup .
Todos os componentes da Barra de Ferramentas são declarados em um arquivo de marcação independente que:
- Especifica as propriedades básicas de cada elemento.
- Mostra claramente as relações hierárquicas.
- Fornece preferências de layout e dicas de escala. Para obter mais informações sobre modelos de layout da estrutura da Faixa de Opções, consulte Personalizando uma faixa de opções por meio de definições de tamanho e políticas de dimensionamento.
- Fornece uma maneira de definir recursos como imagens e rótulos. Para obter mais informações sobre os recursos de imagem, consulte Especificação de Recursos de Imagem da Faixa de Opções.
Os dois exemplos de marcação da Faixa de Opções a seguir demonstram como um conjunto de itens do Menu do Aplicativo da Faixa de Opções estão associados a um nome e ID de Comando.
Esta seção mostra as declarações de comando necessárias para um menu de aplicativo com comandos básicos, como Novo, Abrir e Salvar.
<!-- Command declarations for the Application Menu. --> <Command Name="cmdFileMenu" Symbol="ID_FILE_MENU" Id="25000" /> <!-- Command declaration for most recently used items. --> <Command Name="cmdMRUItems" Symbol="ID_FILE_MRUITEMS" Id="25050"/> <!-- Command declarations for Application Menu items. --> <Command Name="cmdNew" Symbol="ID_FILE_NEW" Comment="New" Id="25001" LabelTitle="&New"/> <Command Name="cmdOpen" Symbol="ID_FILE_OPEN" Comment="Open" Id="25002" LabelTitle="&&Open"/> <Command> <Command.Name>cmdSave</Command.Name> <Command.Symbol>ID_FILE_SAVE</Command.Symbol> <Command.Comment>Save</Command.Comment> <Command.Id>25003</Command.Id> <Command.LabelTitle> <String> <String.Content>Label for Save</String.Content> <String.Id>59999</String.Id> <String.Symbol>strSave</String.Symbol> </String> </Command.LabelTitle> <Command.TooltipTitle>Tooltip title with && for Save Command</Command.TooltipTitle> <Command.TooltipDescription>Tooltip description for Save Command.</Command.TooltipDescription> <Command.Keytip>s1</Command.Keytip> </Command> <Command Name="cmdPrint" Symbol="ID_FILE_PRINT" Comment="Save" Id="25004" LabelTitle="Print" /> <Command Name="cmdExit" Symbol="ID_FILE_EXIT" Comment="Exit" Id="25005" LabelTitle="Exit" />Esta seção mostra as declarações de controle associadas.
<!-- Control declarations for Application Menu items. --> <Ribbon.ApplicationMenu> <ApplicationMenu CommandName="cmdFileMenu"> <!-- Most recently used items collection. --> <ApplicationMenu.RecentItems> <RecentItems CommandName="cmdMRUItems"/> </ApplicationMenu.RecentItems> <!-- Menu items collection. --> <MenuGroup> <Button CommandName="cmdNew" /> <Button CommandName="cmdOpen" /> <Button CommandName="cmdSave" /> </MenuGroup> <MenuGroup> <Button CommandName="cmdPrint" /> <Button CommandName="cmdExit" /> </MenuGroup> </ApplicationMenu> </Ribbon.ApplicationMenu>
Quando a marcação é compilada com a ferramenta UICC (Command Compiler), os nomes e IDs de comando são colocados em um arquivo de cabeçalho usado pelo aplicativo host da Faixa de Opções.
A seguir está um exemplo de um arquivo de cabeçalho gerado pelo UICC.
// *****************************************************************************
// * This is an automatically generated header file for UI Element definition *
// * resource symbols and values. Please do not modify manually. *
// *****************************************************************************
#pragma once
#define cmdFileMenu 25000
#define cmdNew 22001 /* New */
#define cmdNew_LabelTitle_RESID 60005
#define cmdOpen 22002 /* Open */
#define cmdOpen_LabelTitle_RESID 60006
#define cmdSave 22003 /* Save */
#define cmdSave_LabelTitle_RESID 60007
#define cmdSave_TooltipTitle_RESID 60008
#define cmdSave_TooltipDescription_RESID 60009
Tópicos relacionados