Pergunta

Estou criando um aplicativo em WPF que usa a roda do mouse para fazer zoom in / out uma imagem. A quantidade de zoom baseia-se na quantidade de viragem da roda do rato.

O problema é que o valor Delta é sempre 120, como explicado no MSDN. Assim, mesmo se eu girar a roda 1 entalhe ou 5 entalhes sempre será 120. Do que você sabe uma maneira de contornar isso?

Foi útil?

Solução

Você deve ser capaz de lidar com a PreviewMouseWheel evento. O delta para cada evento será +/- 120, mas você vai ter um evento para cada "notch" da roda.

Outras dicas

John Myczek deu a answser basicamente certo. Devo acrescentar que, se você girar a roda rápido o suficiente, você vai notar que o delta é lager do que 120 ou menor do que -120. Vai ser um múltiplos de +/- 120. Então é melhor você fazer alguma divisão na alça do evento PreviewMouseWheel.

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