2017-11-14 29 views
0

ユーザーがクリックしたときに少しアニメーションを作りたいと思います。 次のスタイルを設定してグリッドに設定しますが、MouseUp Animationは機能しません。MouseDownでWPFアニメーションを行い、MouseUpで変更を戻します。

<Style x:Key="AnimatedButton" TargetType="Grid"> 
    <Style.Triggers> 
     <EventTrigger RoutedEvent="MouseDown"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Duration="00:00:0.1" From="1.0" To="0.8" Storyboard.TargetProperty="Opacity" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
     <EventTrigger RoutedEvent="PreviewMouseUp"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Duration="00:00:0.1" From="0.8" To="1.0" Storyboard.TargetProperty="Opacity" /> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Style.Triggers> 
</Style> 
+1

私にとってうまく動作します。 – Clemens

+1

も私のために働く! – tabby

+0

アイデア?私のサイトでは機能しません。 – GreenEyedAndy

答えて

0

これは難しいことでした。 スタイル付きグリッドは、UserControlの一部です。

このUserControlはMouseDownでマウスをキャプチャし、MouseUpでキャプチャを解放します。キャプチャされたMouseUpはUserControlに行きます。しかし、そのスタイルは、基礎をなすグリッドのために決定されました。キャプチャのため、グリッドはMouseUpを取得しません。

スタイルのTargetTypeを "UserControl"に変更し、スタイル付きグリッドの代わりにこれにUserControl.Styleを設定して、すべて動作しています。

関連する問題