我有一个隐藏的按钮,如果条件为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>
答案 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);
虽然我的示例与您要完成的示例有些不同,但是您可以使用它来制作一个平滑而又快的脉冲,并将其中的一些放在一起并设置为真正的快。