在xaml代码中
<StackPanel>
<ScrollViewer>
<local:CustomCanvas>
</local:CustomCanvas>
</ScrollViewer>
</StackPanel>
CustomCanvs具有放大/缩小功能。但是当我在CustomCanvas区域中旋转鼠标滚轮时,ScrollViewer的滚动条工作并且放大/缩小不起作用。当我滚动ScrollViewer的滚动条时,不仅CustomCanvas的放大/缩小工作,而且ScrollViewer的滚动效果也很好。
当我旋转鼠标滚轮时,我只想放大/缩小。当我滚动滚动条时,我只想滚动才能工作。
如何阻止ScrollViewer的鼠标滚轮事件旋转鼠标滚轮? 以及如何阻止ScrollViewer滚动条的滚动放大/缩小? 请帮忙
答案 0 :(得分:3)
您可以处理自定义画布的MouseWheel事件,这样当鼠标指向您的画布区域并且确定了滚动事件时,您将MouseWheelEventArgs的Handled属性设置为true:
private void UIElement_OnMouseWheel(object sender, MouseWheelEventArgs e)
{
e.Handled = true;
//handler your zoomIn/Out here
}
和Xaml
<StackPanel>
<ScrollViewer>
<local:CustomCanvas MouseWheel="UIElement_OnMouseWheel">
</local:CustomCanvas>
</ScrollViewer>
</StackPanel>