通过Alt键禁用/启用鼠标滚轮

时间:2016-02-10 20:43:43

标签: c# wpf

我有一个用C#/ WPF编写的图形应用程序。滚动鼠标滚轮可以放大和缩小几何体。

在XAML中我有这个。 。 。

  <Canvas Name="ROIcnv" Background ="Transparent" Canvas.Top="0" Canvas.Left="0" Margin="250,60,20,180" MouseDown="ROIcnvMouseDown"
            MouseUp="ROIcnvMouseUp" MouseMove="ROIcnvMouseMove" ClipToBounds="True" MouseWheel="ROIcnvMouseWheel"  />

处理程序看起来像这样。 。 。

 private void ROIcnvMouseWheel(object sender, MouseWheelEventArgs e)
    {
        double scaleFactor = 1.0;
        // If the mouse wheel delta is positive, scale up
        if (e.Delta > 0)
        {
            scaleFactor = scaleFactor * 1.1;
        }
        // If the mouse wheel delta is negative, scale down
        if (e.Delta < 0)
        {
            scaleFactor = scaleFactor * 0.9;
        }
        _Scale = _Scale * scaleFactor;
        StackTransforms();
    }  // end ROIcnvMouseWheel

一切正常,除了点击键盘的 Alt 键可以打开和关闭鼠标事件的接收。如果我在处理程序中的调试器中设置了一个断点,那么如果我在滚动之前点击 Alt 键,它就永远不会被调用。再次点击它,一切都很开心。这种情况发生在我试过的所有3台PC上(所有Win 7)。发生了什么,我该如何解决?

0 个答案:

没有答案