none
Canvas com barra de rolagem... RRS feed

  • Pergunta

  •  

    Olá Pessoal, como estão?

    Estou desenvolvendo uma aplicação gráfica usando shapes. O usuário desenhas figuras geométricas no canvas.

    O problema que meu canvas é fixo. Gostaria de o canvas pudesse ter barras de rolagem na horizontal e na vertical, assim quando o usuário for desenhar uma figura e não tiver mais espaço ele pode chegar com o mouse no fim do canvas e assim a barra de rolagem iria aumentando.

    Essa barra de rolagem é automatica, quando o usuário estiver desenhando e posicionar o mouse no fim do canvas, seja na horizontal como na vertical, o canvas vai aumentando o seu tamanho e com isso surge a barra de rolagem.

     

    Alguém sabe como fazer isso?

     

    Obrigado a todos.

     

    Abraços

    terça-feira, 8 de janeiro de 2008 11:39

Respostas

  • A idéia é colocar o Canvas numa ScrollViewer e capturar o clique do Mouse. Se a posição estiver a menos de 10 pixels da borda, aumente o Canvas. Isto gera as barras de rolagem.

    Bruno
    terça-feira, 8 de janeiro de 2008 11:53

Todas as Respostas

  • A idéia é colocar o Canvas numa ScrollViewer e capturar o clique do Mouse. Se a posição estiver a menos de 10 pixels da borda, aumente o Canvas. Isto gera as barras de rolagem.

    Bruno
    terça-feira, 8 de janeiro de 2008 11:53
  •  

    Bruno, para aumentar o canvas eu uso a propriedade size?

    Posso fazer quando o mouse estiver em movimento com o boton esquerdo pressionado e estiver a essa distancia (< 10 pixels) entao aumento o canvas?

     

    Obrigado.

     

    Abraços,

    terça-feira, 8 de janeiro de 2008 12:45
  • Canvas em WPF não tem a propriedade Size, mas sim Width e Height.

    Sim, você pode usar o evento MouseMove, verificar se o mouse está pressionado e aumentar o canvas

    Bruno
    terça-feira, 8 de janeiro de 2008 14:50