WPF мыши, определение направления колеса и раскадровки

Я работаю над приложением WPF, которое отображает объект XAML, и я хочу увеличивать и уменьшать масштаб объекта XAML с помощью колесика мыши. Я мог бы создать хороший плавный переход объекта XAML для колеса мыши, но я не могу понять, как различать направление колеса мыши. Я обнаружил, что должен использовать свойства триггера, но не могу найти способ сделать это для колесика мыши.

Это код, который у меня есть, и он запускается для любого действия колесика мыши (вверх или вниз):

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

Спасибо всем вам, помощники там:)

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>

Для меня лучше разработать этот код.

Другие вопросы по тегам