在XAML中设置按钮的闪烁效果

时间:2012-02-13 07:48:46

标签: .net wpf xaml

我的要求是我想在点击button1时在button2上设置闪烁效果。 我确实引用了这个例子来对文本块进行闪烁效果。

Blinking TextBlock

但它不适用于我的button2。 如果你愿意,我可以告诉你xaml代码。 请帮助我。 感谢。

2 个答案:

答案 0 :(得分:8)

试试这个:

  <Button Name="button1" Margin="10" Content="Animate Button2!">
    <Button.Triggers>
      <EventTrigger RoutedEvent="Button.Click">
        <EventTrigger.Actions>
          <BeginStoryboard>
            <Storyboard BeginTime="00:00:00" 
                                    RepeatBehavior="Forever" 
                                    Storyboard.TargetName="button2" 
                                    Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)">
              <ColorAnimation From="Black" To="Red" Duration="0:0:1"/>
            </Storyboard>
          </BeginStoryboard>
        </EventTrigger.Actions>
      </EventTrigger>
    </Button.Triggers>
  </Button>

  <Button Name="button2" Margin="10" Content="I will get animated!"></Button>

如果您想要为背景设置动画: 这并不容易实现,因为框架使用内部资源的背景,例如悬停动画。

请参阅 Blinking button on WPF application

答案 1 :(得分:0)

如果您想让按钮在加载时闪烁而不是单击另一个按钮,请尝试使用此代码。

<Button Name="btnAlert" Background="DarkRed" Content="Amimation is working!" Foreground="White" FontSize="17">
    <Button.Triggers>
        <EventTrigger RoutedEvent="Button.Loaded">
            <EventTrigger.Actions>
                <BeginStoryboard>
                    <Storyboard BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="btnNewVersionAlert" Storyboard.TargetProperty="(Foreground).SolidColorBrush.Color)">
                         <ColorAnimation From="Black" To="White" Duration="0:0:1"/>
                </Storyboard>
            </BeginStoryboard>
        </EventTrigger.Actions>
    </EventTrigger>
</Button.Triggers></Button>