Usuário com melhor resposta
Menu improvisado! Como fazer?

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.
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.
- Marcado como Resposta Carlos Henrique Farneze terça-feira, 16 de novembro de 2010 12:16
Todas as Respostas
-
Bom dia Carlos tudo blz?
Veja se esses links aqui podem te ajudar:
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.
-
-
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.
-
-
-
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 -
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 -
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.
- Marcado como Resposta Carlos Henrique Farneze terça-feira, 16 de novembro de 2010 12:16