Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 鼠标滚轮:滚动与缩放_Silverlight_Silverlight 4.0_Mousewheel - Fatal编程技术网

Silverlight 鼠标滚轮:滚动与缩放

Silverlight 鼠标滚轮:滚动与缩放,silverlight,silverlight-4.0,mousewheel,Silverlight,Silverlight 4.0,Mousewheel,我有一个Silverlight 4自定义控件,基本上是几个画布元素包装在一个ScrollViewer中。用户可以设置属性,以确定在使用鼠标滚轮时是滚动还是缩放。在自定义控件的鼠标滚轮事件中,我检查它们是否要滚动或缩放。如果进行缩放,我将确定增量并修改自定义控件的缩放级别(这将为我处理缩放代码) 问题是,直到ScrollViewer的垂直滚动条的当前位置位于滚动条的顶部或底部,缩放才会开始。一旦它们被激活,缩放就可以完美地工作 有没有人对我如何防止完全滚动以便只缩放(当用户想要缩放时)有什么建议

我有一个Silverlight 4自定义控件,基本上是几个画布元素包装在一个ScrollViewer中。用户可以设置属性,以确定在使用鼠标滚轮时是滚动还是缩放。在自定义控件的鼠标滚轮事件中,我检查它们是否要滚动或缩放。如果进行缩放,我将确定增量并修改自定义控件的缩放级别(这将为我处理缩放代码)

问题是,直到ScrollViewer的垂直滚动条的当前位置位于滚动条的顶部或底部,缩放才会开始。一旦它们被激活,缩放就可以完美地工作

有没有人对我如何防止完全滚动以便只缩放(当用户想要缩放时)有什么建议


谢谢

看来我的一个子元素正在掌控鼠标滚轮事件。我通过向每个子元素的MouseWheel事件以及父控件的MouseWheel事件添加Debug.WriteLine语句来跟踪这一点


所以,我不能责怪SL4。就我一个人。:)

为了进一步加深谜团,我发现控件的鼠标滚轮事件直到滚动条达到最大或最小高度后才会触发。ScrollViewer控件也是如此。我想知道这是否是Silverlight 4的新行为。我在SL3中没有看到。应该有一个徽章来回答你自己的问题。我这样做的规律性令人担忧。