使用事件触发器控制按钮动画

时间:2012-07-30 11:10:13

标签: wpf xaml animation triggers storyboard

我希望在XAML中使用事件触发器来实现,当触发鼠标输入时,按钮的样式(按钮和文本变大)会发生变化。然后,当触发鼠标离开事件时,它将返回到之前的样式。

我已经解决过了,但问题是当点击一个按钮时,除非点击其他按钮,否则必须保留鼠标输入的样式。

<Style.Triggers>
  <EventTrigger RoutedEvent="Button.MouseEnter">
    <EventTrigger.Actions>
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleX"
            To="2" Duration="0:0:0.25"/>
          <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleY"
            To="2" Duration="0:0:0.25"/>
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger.Actions>
  </EventTrigger>
  <EventTrigger RoutedEvent="Button.MouseLeave">
    <EventTrigger.Actions>
      <BeginStoryboard>
        <Storyboard>
          <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleX"
            To="1" Duration="0:0:0.25"/>
          <DoubleAnimation Storyboard.TargetProperty="LayoutTransform.ScaleY"
            To="1" Duration="0:0:0.25"/>
        </Storyboard>
      </BeginStoryboard>
    </EventTrigger.Actions>
  </EventTrigger>
</Style.Triggers>

感谢任何帮助。谢谢!

1 个答案:

答案 0 :(得分:0)

首先,感谢您的所有评论。它们很棒且正确但我必须找到一种方法来使用标准按钮(不是无线电或切换)来实现它。

我能够解决这个问题。因此,我想扩展Control按钮以添加类似标志的内容,以确定是否已单击按钮然后处理OnMouseLeave事件。