title: MouseBinding the mousewheel to zoom in WPF and MVVM
body: <p>OK, I've figured out how to get my Grid of UI elements to zoom, by using LayoutTransform and ScaleTransform. What I don't understand is how I can get my View to respond to CTRL+MouseWheelUp\Down to do it, and how to fit the code into the MVVM pattern. </p>
  
  <p>My first idea was to store the ZoomFactor as a property, and bind to a command to adjust it.</p>
  
  <p>I was looking at something like:</p>
  
  <pre><code>&lt;UserControl.InputBindings&gt;
   &lt;MouseBinding Command="{Binding ZoomGrid}" Gesture="Control+WheelClick"/&gt;
  &lt;/UserControl.InputBindings&gt;
  </code></pre>
  
  <p>but I see 2 issues:</p>
  
  <p>1) I don't think there is a way to tell whether the wheel was moved up or down, nor can I see how to determine by how much. I've seen MouseWheelEventArgs.Delta, but have no idea how to get it.</p>
  
  <p>2) Binding to a command on the viewmodel doesn't seem right, as it's strictly a View thing.</p>
  
  <p>Since the zoom is strictly UI View only, I'm thinking that the actual code should go in the code-behind.</p>
  
  <p>How would you guys implement this?</p>
  
  <p>p.s., I'm using .net\wpf 4.0 using Cinch for MVVM.</p>