WPF鼠标滚轮方向检测和故事板

时间:2011-08-16 09:33:47

标签: wpf xaml storyboard blend mousewheel

我正在开发一个显示XAML对象的WPF应用程序,我希望使用鼠标滚轮从XAML对象放大和缩小。我可以为鼠标滚轮创建一个很好的平滑过渡的XAML对象,但我无法理解如何区分鼠标滚轮方向。我发现我应该使用Trigger的属性,但我找不到如何为鼠标滚轮做这个。

这是我到目前为止的代码,它会触发任何鼠标滚轮操作(向上或向下):

<UserControl.Triggers>
    <EventTrigger RoutedEvent="Mouse.MouseWheel" >
        <BeginStoryboard Storyboard="{StaticResource OnMouseWheel1}"/>
    </EventTrigger>
</UserControl.Triggers>

感谢所有帮助者:)

1 个答案:

答案 0 :(得分:1)

您可以使用WPF XAML Canvas,这可能有助于实现一个好的故事板。查看http://msdn.microsoft.com/en-us/library/cc294753.aspx

这是一个简短的例子,您可能需要使用DoobleAnimation。

<Canvas.Resources>
 <Storyboard x:Name="ZoomStoryboard">
       <DoubleAnimation x:Name="ZoomAnimationX"
                        Storyboard.TargetName="Workspace"
                    Storyboard.TargetProperty="Canvas.RenderTransform.ScaleTransform.ScaleX"
                             Duration="0:0:0.2"/>
            <DoubleAnimation x:Name="ZoomAnimationY"
                             Storyboard.TargetName="Workspace"
                             Storyboard.TargetProperty="Canvas.RenderTransform.ScaleTransform.ScaleY"
                             Duration="0:0:0.2"/>
        </Storyboard>
    </Canvas.Resources>

对我来说,最好开发一个代码。