none
Menu improvisado! Como fazer? RRS feed

  • Pergunta

  • Olá mais uma vez, pessoal!

     

    Encontro-me com problemas!

    Iniciei um "Silverlight Navigation Application" e preciso criar um menu (simples)  no canto superior esquerdo da tela.

    No caso, preciso, no momento em o usuário passar o mouse por cima daquele StackPainel padrão, que possui um text block = "Application Name", mostrar um menu (logo abaixo do stack painel).

     

    Tentei usar o próprio StackPainel padrão como menu. Neste caso, no MouseEnter, eu aumentaria o "height" e pronto, MAS, não eu certo. os componentes (padrões) não ficava alinhados e seria difícil colocar botões dinamicamente.

     

    Tentei colocar abaixo do StackPainel padrão uma grid, um outro StackPainel, outros componentes e caí no mesmo problemas todas as vezes...

    Eventos!

    No MouseEnter, mostrava a Grid, por exemplo, e no MouseLeave  escondia-a. Deu ERRADO! (óbvio).

    Quando saia do StackPainel padrão, para entrar na grid, a grid se fechava, pois eu saia do stackpainel, chamando o mouseleave.

    tentei usar sleep para dar um tempinho para o usuário entrar na grid antes que ela se fechasse, e também não deu certo! A grid não recebia o foco, apesar de estar aberta.

     

    Se colocasse mouseleave apenas na grid, não ficava bom!

    Se eu colocasse o mouse sobre o StackPainel e fosse para a grid, dava certo, mas se eu colocasse o mouse sobre o StackPainel e não fosse para a grid, simplesmente saísse,  a mesma não se fechava, pois não havia colocado comando nenhum no mouse leave do stackPainel.

     

    Não posso colocar componentes de terceiros, como eu vi em algumas perguntas do Forum. (VIBlend, DevExpress)

     

    Alguém tem alguma sugestão do que eu devo fazer?

    Como mostrar um menu "simples" usando o StackPainel Padrão (do Silverlight Navigation Application) como componente chamador do menu?

     

    Agradeço muito desde Já

     

    Carlos.

     

     

     

     

     

    quarta-feira, 3 de novembro de 2010 18:08

Respostas

  • Pessoal, 

    Agradeço muito pelas respostas.

    O que fiz foi, colocar um componente Expander ao lado do stackpainel padrão. Dentro dele coloquei um ScrollViewer, dentro  do ScrollViewer coloquei uma grid e dentro desta grid coloquei os hyperlinkbuttons que precisava. 

    Então se colocar mais hyperlinkbuttons o menu continua do mesmo tamanho pois o ScrollViewer me permite acessar os que ficarem escondidos.

    Está rodando certinho.

    Agradeço ai a ajuda de todos.

    Carlos. 

    terça-feira, 16 de novembro de 2010 12:15

Todas as Respostas

  • Bom dia Carlos tudo blz?

    Veja se esses links aqui podem te ajudar:

    http://slmenu.codeplex.com/

    http://www.primordialcode.com/index.php/2008/09/25/silverlight-how-to-build-a-simple-menu-control/

    O do Codeplex vc pode dar uma olhada no código para ter como base.

    quinta-feira, 4 de novembro de 2010 12:32
  • No toolkit do Silverlight tem um componente chamado Accordion, vc pode usa-lo para fazer um menu tbm, vc pode usar o accordion do Toolkit mesmo, edita-lo no Expression Blend de acordo com a sua necessidade.

    quinta-feira, 4 de novembro de 2010 12:51
  • Olá daniel,

    Com relação ao link que passou, eu não entendi muita coisa.

    O criador daquele exemplo não mostra o código da classe popupProvider e mostra apenas pedaços do resto do código, acabei ficando sem entender. Sou iniciante e ainda peco no entendimento de códigos e o menu que eu preciso é bem simples mesmo. apesar deu ter citado um menu dinâmico eu preciso, antes, de um menu simples, "estático".

     

    Preciso apenas de alguma forma de  mostrar uma "grid" com alguns botões (hyperlinkbuttons) abaixo do stack painel padrão ou outro componente que sirva como Menu.

     

    Só lembrando, utilizo  Silverlight Navigation Application!

     

    Se alguém puder me ajudar, agradeceria muito!

    Carlos.

    sábado, 6 de novembro de 2010 17:01
  • Daniel,

    Quanto ao Accordion, basta baixar o toolkit e este componente já deveria aparecer na toolbox?

    Existe mais alguma coisa a se fazer para poder utilizá-lo?

    Carlos.

    sábado, 6 de novembro de 2010 17:03
  • Baixe e instale o Silverlight 3 Tools e o Silverlight 3 ToolKit.
    sexta-feira, 12 de novembro de 2010 15:39
  • Carlos,

    O próprio menu de links superior do Navigation Application não resolve seu problema?

    Ele é bem simples de usar, basta adicionar novos HyperLinks dentro daquele stackpanel.

     


    Ricardo Dorta
    Arquiteto de Software
    MCP,MCAD,MCSD
    Ajudou? Marque como reposta!!!.
    blog: http://blogs.makesys.com.br/dorta
    twitter : http://twitter.com/dortaway
    sexta-feira, 12 de novembro de 2010 17:26
    Moderador
  • Cara se Você precisar de algo mais aprimorado o VIBlend tem um componente de menu que é free, basta vc baixar o instalador.
    Eu tenho utilzado ele, super simples pra programar e atende minhas necessidades.

    http://www.viblend.com/products/net/silverlight/controls/free-silverlight-controls.aspx

    sexta-feira, 12 de novembro de 2010 20:11
  • Pessoal, 

    Agradeço muito pelas respostas.

    O que fiz foi, colocar um componente Expander ao lado do stackpainel padrão. Dentro dele coloquei um ScrollViewer, dentro  do ScrollViewer coloquei uma grid e dentro desta grid coloquei os hyperlinkbuttons que precisava. 

    Então se colocar mais hyperlinkbuttons o menu continua do mesmo tamanho pois o ScrollViewer me permite acessar os que ficarem escondidos.

    Está rodando certinho.

    Agradeço ai a ajuda de todos.

    Carlos. 

    terça-feira, 16 de novembro de 2010 12:15