2016-12-02 95 views
1

如何在Window.Loaded事件中启动此动画?我想用xaml中的这个按钮的点击方法来启动它。从其他元素启动wpf动画

<Grid> 
    <Grid.ColumnDefinitions> 
     <ColumnDefinition /> 
     <ColumnDefinition /> 
    </Grid.ColumnDefinitions> 
    <Button x:Name="myButton" Grid.Column="1" Height="25" Width="100">Start</Button> 
    <Canvas Name="Can1"> 
     <Rectangle Name="Rect1" Canvas.Left="10" Fill="LightSeaGreen" 
     Stroke="Bisque" 
     StrokeThickness="5" 
     Width="100" Height="100"> 
      <Rectangle.Triggers> 
       <EventTrigger RoutedEvent="Window.Loaded"> 
        <BeginStoryboard> 
         <Storyboard> 
          <DoubleAnimation 
           Storyboard.TargetName="Rect1" 
           Storyboard.TargetProperty="(Canvas.Left)" 
           From="10" To="100" 
           Duration="0:0:2" 

           /> 
         </Storyboard> 
        </BeginStoryboard> 
       </EventTrigger> 
      </Rectangle.Triggers> 
     </Rectangle> 
    </Canvas> 
</Grid> 
+0

只是改变的RoutedEvent – Prajwal

+0

检查了这一点。 http://stackoverflow.com/questions/24011869/handling-a-buttons-click-event-in-xaml – Prajwal

回答

0

将故事板到Button的触发器,在一个EventTrigger在Button.Click事件:

<Button x:Name="myButton" Grid.Column="1" Height="25" Width="100" Content="Start"> 
    <Button.Triggers> 
     <EventTrigger RoutedEvent="Button.Click"> 
      <BeginStoryboard> 
       <Storyboard> 
        <DoubleAnimation Storyboard.TargetName="Rect1" 
            Storyboard.TargetProperty="(Canvas.Left)" 
            To="100" Duration="0:0:2"/> 
       </Storyboard> 
      </BeginStoryboard> 
     </EventTrigger> 
    </Button.Triggers> 
</Button> 
<Canvas x:Name="Can1"> 
    <Rectangle x:Name="Rect1" Canvas.Left="10" Width="100" Height="100" 
       Fill="LightSeaGreen" Stroke="Bisque" StrokeThickness="5"/> 
</Canvas>