none
Avançar linha de desenho com o tempo RRS feed

  • Pergunta

  • Olá pessoal,

    Estou tentando criar uma aplicação onde o usuário deverá simular o gráfico de uma função utilizando o mouse, sendo que enquanto o botão esquerdo do mouse estiver pressionado a linha do gráfico deverá avançar automáticamente e nunca retroceder, ou seja, a coodenada X do ponteiro deverá ser sempre incrementada.

    A questão é como posso manipular esta coordenada, ou a coordenada da linha que está sendo desenhada?

    Não sei se fui bastante claro.

    Agradeço pela ajuda que conseguir.

    Obs.: Estou utilizando "InkCanvas"
    • Editado Ivan Clay segunda-feira, 5 de setembro de 2011 14:02 add objeto
    segunda-feira, 5 de setembro de 2011 14:01

Respostas

  • Ivan, bom dia!

    O que vc pode fazer é criar um novo controle ou user control onde este canvas seja o container para as linhas desenhadas, nesta nova classe vc pode utilizar Attached Properties para marcar o ponto inicial de clique do mouse,por exemplo, e tratar o avanço da linha no evento Mouse Move.

     

    Os argumentos de evento do Mouse disponibiliza métodos que é possível vc pegar a coordenada (X,Y) do Mouse em relação a determinado objeto.

    Por exemplo:

     

    e.GetPosition(canvas); //Pega o ponto onde está o mouse em relação ao seu canvas, tendo como ponto de partida o ponto superior esquerdo do canvas (se eu não me engano rsrs)

     

    Talvez a classe Vector ajude nos seus cálculos também.


    Allan Tavares - Desenvolvedor Pleno - Spread Systems/Banco do Brasil
    • Marcado como Resposta Ivan Clay quarta-feira, 14 de setembro de 2016 17:10
    quarta-feira, 14 de setembro de 2011 11:29