Pergunta

Eu gostaria de criar aplicações com interface ribbon que parece e se comporta como este:

  • Aplicação de ter um formulário principal com fita
  • fita tem várias guias
  • quando o utilizador muda guia na fita, painel abaixo alterações fita e exibe conteúdo relacionado ao painel da fita. Dessa forma, guia da faixa age como se é guia ao longo da janela inteira.

Por exemplo, fita tem duas guias: pessoas e tarefas. Quando o painel de fita atual é "povo", abaixo fita é exibida grade com dados pessoas. Fita contém o comando para manipulação de dados pessoas. Quando o usuário muda para aba "tarefas" na fita, aplicativo deve exibir formulário com tarefas abaixo fita.

A pergunta é pode fita ser usado neste cenário?

Eu li "Office Fluent ™ INTERFACE Design Guidelines", que descreve o que você pode e não pode fazer com fita, mas eu não consegui encontrar nada sobre isso.

Foi útil?

Solução 2

Hands-on-Lab Southridge no Codeplex . Em laboratório 3 existe exemplo controle da fita que é usado da mesma forma como I destina-se a fazer.

laboratórios Southridge são feitas por Microsoft, por isso, presumo, eu posso fazer mesmo que este exemplo.

Outras dicas

TLDR: Eu acho que se encaixa ao seu conceito de aplicativo, mas tem que haver uma clara distinção entre as pessoas e funções de tarefas para que ele funcione

Apesar de Scott tem um ponto que poderia ser um pouco em contraste com o que a Microsoft pretendia usar a fita para, ele acha que a fita também se encaixa para este tipo de uso. Pois se você queria ter um guia convencional como Michael sugere que você precisa de botões para alternar entre as janelas ou tarefas. Usando a fita que você ligar diretamente as funções / botões que controlam com a guia de tarefas', tornando mais fácil para aprender o que os botões estão ligados ao que tarefa. Botões que são usados ??para toda a aplicação pode ser integrada no botão Office (o grande logotipo do Office no canto superior esquerdo), que na verdade é exatamente o que a Microsoft faz.

Estamos actualmente a implementar uma fita-como barra de ferramentas, bem, então provavelmente eu não sou inteiramente objetiva. No entanto, eu tendem a pensar que a fita funciona muito simples e permite aos usuários descobrir facilmente botões. Uma nota lateral: isso também poderia ser conseguido através de grande logomarcas e suspensa galeria de, é apenas mais fácil que a maioria dos pacotes de fita disponíveis têm estas coisas implementadas, então não há necessidade de código-lo sozinho (a menos que você pode muito facilmente)

!

O que você está sugerindo é contrária às orientações da Microsoft. Você pode estar em violação de suas orientações.

A fita é suposto ser usado com aplicativos centrados em documentos, onde há um documento e você tem comandos na fita para manipulá-lo. As guias na fita são destinados apenas para navegar na fita ... não para navegar sua aplicação.

(Dito isto ... Eu sei de algumas aplicações que usam a fita na forma como você descrever ... e parece funcionar muito bem!)

Eu corri para cabeça-dores semelhantes ao implementar nosso aplicativo para usar uma fita. Para a próxima versão, nós estamos indo de volta para uma barra de ferramentas sensível ao contexto:)

Se os seus comandos por guia são poucos (menos de 20), então talvez você deve usar um controle guia convencional, com botões para os comandos na parte superior ou em outro lugar na folha de guia. Isso também lhe dará a opção de ter botões que se aplicam ao aplicativo inteiro (por exemplo, a saída, Preferências) fora do controle guia, que vai ajudar a tornar o seu âmbito claro para o usuário (algo que você não pode fazer com a fita).

Se o trabalho dos seus usuários inclui comparação de informações entre ‘tabs’, então não use abas em tudo, mas sim para usar janelas principais separadas (por exemplo, um para as pessoas e um para tarefas). Cada um pode, em seguida, ter seu próprio menu convencional distinta e barra de ferramentas, e os usuários podem colocar as janelas lado a lado em suas telas para fazer o seu trabalho, em vez de mudar e para trás com um controle guia.

Use o evento OnTabChange para trazer o painel apropriado para a vista frontal:

procedure TForm1.Ribbon1TabChange(Sender: TObject; const NewIndex,
  OldIndex: Integer; var AllowChange: Boolean);
begin
  case NewIndex of
    0: Panel0.BringToFront;

    1: Panel1.BringToFront;

    2: Panel2.BringToFront;

    3: Panel3.BringToFront;

  end;
end;

Apenas para informação, eu tenho jogado com suíte xtrabar de DevExpress um pouco e implementaram este comportamento controle guia usando a propriedade tag. Eu criar um painel de controle para cada página fita, em seguida, fazer algo como o seguinte:

InitPanels

RibPage1.tag = Panel1
RibPage2.tag = Panel2

' Set Display Properties
'Panel1 displays initially

With Panel1
   .Dock = Fill
   .Show()
End With

With Panel2
   .Dock = Fill
   .Hide()
End With

Ribbon.SelectedPage = RibPage1

fita na página selecionada Alterar

P as Panel = ctype(sender.tag, Panel)
p.hide()

Fita No Selected página alterada

P as Panel = ctype(sender.tag, Panel)
p.Show()

Eu sou um novato na programação para que haja provavelmente alguns maneira melhor de fazer isso, mas isso parece funcionar para mim. Provavelmente também depende do fornecedor da fita.

Espero que isso ajude.

Josh

A nova versão do ribbon WPF não tem as mesmas restrições que as versões anteriores.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top