动画边框

时间:2014-03-28 05:10:31

标签: wpf xaml eventtrigger

我有边框,我想通过点击按钮(name =“button1”)进行动画制作。按钮在外面。我的代码抛出异常。怎么了?谢谢

  <Border Name="brdClasses" Background="#FF2c3e50">
                    <Border.RenderTransform>
                        <ScaleTransform x:Name="MyAnimatedScaleTransform" 
                                         ScaleX="1" ScaleY="1"  />
                    </Border.RenderTransform>
                    <Border.Triggers>
                        <EventTrigger SourceName="button1" RoutedEvent="Button.Click">
                            <EventTrigger.Actions>
                                <BeginStoryboard Name="MyBeginStoryboard">
                                    <Storyboard >
                                        <DoubleAnimation 
                                         Storyboard.TargetName="MyAnimatedScaleTransform"
                Storyboard.TargetProperty="(ScaleTransform.ScaleX)"
                To="3.0" Duration="0:0:10" AutoReverse="True" />

                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger.Actions>
                        </EventTrigger>
                    </Border.Triggers>
                </Border>

1 个答案:

答案 0 :(得分:0)

我不知道为什么你的代码不起作用......但我以一种特定的方式做了一个简单的例子..如果它有助于利用它......

<Grid>
    <Grid.RowDefinitions>
        <RowDefinition Height="50"/>
        <RowDefinition Height="Auto"/>
    </Grid.RowDefinitions>

    <Border Name="brdClasses" Grid.Row="1" Background="#FF2c3e50" Height="100" Width="150">
       <Border.RenderTransform>
            <TransformGroup>
                <ScaleTransform/>
                <SkewTransform/>
                <RotateTransform/>
                <TranslateTransform/>
            </TransformGroup>
        </Border.RenderTransform>
    </Border>
    <Button Content="Button1" x:Name="button1">
        <Button.Triggers>
           <EventTrigger RoutedEvent="ButtonBase.Click" SourceName="button1">
        <BeginStoryboard>
            <Storyboard>
        <DoubleAnimationUsingKeyFrames Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(ScaleTransform.ScaleX)" Storyboard.TargetName="brdClasses">
            <EasingDoubleKeyFrame KeyTime="0" Value="3"/>
        </DoubleAnimationUsingKeyFrames>
    </Storyboard>
        </BeginStoryboard>
    </EventTrigger>
        </Button.Triggers>
    </Button>
</Grid>