闪烁TextBlock

时间:2010-04-16 12:21:34

标签: wpf

嗨,我想让Wpf TextBlock闪烁。我希望当我点击一个按钮时,文本块会闪烁。我怎么能做到这一点。

我尝试了以下内容。

<TextBlock Name="txtBlockScannerText" Margin="10,0,0,0" Style="{StaticResource TextBlockNormal}" Text="Skanna Inleverans listan">
    <TextBlock.Triggers>
        <EventTrigger RoutedEvent="TextBlock.MouseEnter">
            <EventTrigger.Actions>
                <BeginStoryboard>
                    <Storyboard BeginTime="00:00:00" RepeatBehavior="Forever" Storyboard.TargetName="txtBlockScannerText" Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)">
                        <ColorAnimation From="Black" To="Red" Duration="0:0:1"/>
                    </Storyboard>
                </BeginStoryboard>
            </EventTrigger.Actions>
        </EventTrigger>
    </TextBlock.Triggers>
</TextBlock>

但是使用此代码时,只有鼠标输入时才会闪烁。如何在按钮单击事件中触发闪烁。或者我如何调用事件闪烁。谢谢你的帮助

3 个答案:

答案 0 :(得分:5)

TextBlock上没有点击事件。如果您使用带有文本块的按钮作为内容,则可以将动画连接到按钮的单击事件。您可能需要设置按钮的样式以删除3D外观或您可以选择的其他按钮的默认样式。

答案 1 :(得分:5)

这是解决方案

<TextBlock Name="txtBlockScannerText" Margin="10,0,0,0"  Text="WELCOME"> </TextBlock>
        <Button Content="Click Me" Height="23" HorizontalAlignment="Left" Margin="225,43,0,0" Name="button1" VerticalAlignment="Top" Width="75">
            <Button.Triggers>
                <EventTrigger RoutedEvent="Button.Click">
                    <EventTrigger.Actions>
                        <BeginStoryboard>
                            <Storyboard BeginTime="00:00:00" 
                                        RepeatBehavior="Forever" 
                                        Storyboard.TargetName="txtBlockScannerText" 
                                        Storyboard.TargetProperty="(Foreground).(SolidColorBrush.Color)">
                                 <ColorAnimation From="Black" To="Blue" Duration="0:0:1"/>
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger.Actions>
                </EventTrigger>
            </Button.Triggers>
        </Button>

答案 2 :(得分:3)

让您的触发器收听Loaded事件,而不是MouseEnter事件......

<EventTrigger RoutedEvent="TextBlock.Loaded">
相关问题