WPF跳跃或闪烁按钮

时间:2019-04-18 13:38:06

标签: c# wpf

我有一个隐藏的按钮,如果条件为true,则该按钮对用户可见。但是我想引起用户对按钮的关注,所以想使按钮跳转或闪烁几秒钟。

我看到了一些示例,但是它们都由mouseover事件触发。 我尝试将事件触发器替换为数据触发器,但不接受。

请问有人有类似的代码或不同的想法吗?

 <Button Visibility="{Binding IsVisibleBtnCopyFromPreviousPriceList}" x:Name="BtnCopyProducts" Click="BtnCopyProductsist_Click" Grid.Column="1" Grid.Row="17" Grid.ColumnSpan="9" FontSize="16" Margin="0"  Height="70" Width="70" Background="Transparent"  BorderBrush="Transparent" >
 <StackPanel>
       <Image Source="Images/File_copy_64.png" Width="56" Height="56" />
  </StackPanel>
</Button>

1 个答案:

答案 0 :(得分:2)

您看过动画吗?它们很容易制作。我使用DoubleAnimation类在我的一个项目上实现了类似的操作,以便向用户显示几秒钟的消息,表明事物正在后台同步。

这是我的方法:

首先,我创建一个情节提要

Storyboard myStoryboard = new Storyboard();

然后我创建了两个DoubleAnimation。一个保持稳定几秒钟,然后消失几秒钟。这是褪色的:

DoubleAnimation fadeAnim = new DoubleAnimation();
fadeAnim.From = 1.0;
fadeAnim.To = 0.0;
fadeAnim.BeginTime = new TimeSpan(0, 0, 3);
fadeAnim.Duration = new Duration(TimeSpan.FromSeconds(2));

最后将动画添加到Storyboard

myStoryboard.Children.Add(fadeAnim);
Storyboard.SetTargetName(fadeAnim, WarningGrid.Name);
Storyboard.SetTargetProperty(fadeAnim, new PropertyPath(Rectangle.OpacityProperty));

然后只需打一下游戏即可:

myStoryboard.Begin(this);

虽然我的示例与您要完成的示例有些不同,但是您可以使用它来制作一个平滑而又快的脉冲,并将其中的一些放在一起并设置为真正的快。