2017-04-02 15 views
1

プロジェクトでポリゴンが設定されたパス上で移動しています ポリゴンの移動時にマウスカーソルを移動すると、ポリゴンの移動が継続する必要がありますWPF c#XAML ismouseover animation

<Window x:Class="aqua3.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
    xmlns:local="clr-namespace:aqua3" 
    mc:Ignorable="d" 
    Title="MainWindow" Height="350" Width="525"> 
<Window.Resources> 
    <PathGeometry x:Key="pathg"> 
     <PathFigure IsClosed="True"> 
      <PolyLineSegment Points="0,0 200,0 200,80 0,80" /> 
     </PathFigure> 
    </PathGeometry> 
</Window.Resources> 
<Grid Background="LightBlue"> 
    <Canvas Margin="10" Background="LightBlue"> 
     <Path Stroke="Red" Data="{StaticResource pathg}" Canvas.Top="10" Canvas.Left="10" /> 
     <Polygon Name="polygon1" Stroke="Yellow" Fill="Yellow" Points="100,150 120,140 120,120 165,150 120,180 120,160 "> 
      <Polygon.Triggers> 
       <EventTrigger RoutedEvent="Window.Loaded"> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimationUsingPath Storyboard.TargetProperty="(Canvas.Top)" 
            Duration="0:0:15" RepeatBehavior="Forever" 
            PathGeometry="{StaticResource pathg}" Source="Y" > 
          </DoubleAnimationUsingPath> 
          <DoubleAnimationUsingPath Storyboard.TargetProperty="(Canvas.Left)" 
            Duration="0:0:15" RepeatBehavior="Forever" 
            PathGeometry="{StaticResource pathg}" Source="X" > 
          </DoubleAnimationUsingPath> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
      </Polygon.Triggers> 
     </Polygon> 
    </Canvas> 
</Grid> 

答えて

1
  1. あなたBeginStoryboard

    <BeginStoryboard x:Name="Move"> 
    
  2. に名前を割り当て
  3. 、一時停止、再開するには、この

    <EventTrigger RoutedEvent="MouseEnter"> 
        <PauseStoryboard BeginStoryboardName="Move"/> 
    </EventTrigger> 
    
  4. を追加し、この

    <EventTrigger RoutedEvent="MouseLeave"> 
        <ResumeStoryboard BeginStoryboardName="Move"/> 
    </EventTrigger> 
    
+0

を追加するには、そんなにありがとう:) – Pewbot