2011-08-16 23 views
0

XAMLオブジェクトを表示するWPFアプリケーションで作業しています。マウスホイールを使用してXAMLオブジェクトを拡大/縮小したいとします。私はマウスホイールのためのXAMLオブジェクトの素敵なスムーズな移行を作成することができますが、マウスホイールの方向を区別する方法を理解することはできません。私は、トリガーのプロパティを使用すべきであることを知りましたが、私はマウスホイールのためにこれを行う方法を見つけることができません。WPFマウスホイールの方向検出とストーリーボード

これは私がこれまで持っている、そしてそれがどのマウスホイール操作(アップまたはダウンのどちらか)のために発火コードです:そこにすべてのあなたのヘルパーに

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

感謝:)

+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> 

私にとっては、そのコードを開発する方が良いです。

+0

すぐにお返事ありがとうございます、しかし、私はかなり理解していません。私はXAMLオブジェクトを保持するキャンバスを持っています。マウスホイールを動かすと、上のコードで指定されたストーリーボードが起動しますが、マウスホイールの別のストーリーボードとマウスホイールの別のイベント私は両者を区別する方法を知らない。 –

+0

そのコードの背後にアクションを指定する必要があります。ストーリーボードに入れる必要はありません。 –

+0

偉大な、私の解決策のように聞こえる。ありがとう! –

関連する問題