具有数据绑定的WPF TextBlock背景动画

问题描述 投票:0回答:1

当数据绑定布尔属性设置为“True”时,我一直在尝试将TextBlock背景从白色设置为红色并再次返回(闪烁)。每次我运行它,它进入休息模式。

我知道我错过了什么。您可以提供的任何帮助或指示都将非常感激。

先感谢您!

<TextBlock x:Name="txtItemDisplayText" HorizontalAlignment="Left" TextWrapping="Wrap" Text="{Binding ItemCountText}" VerticalAlignment="Top" Height="600" Width="800" TextAlignment="Center" FontSize="525" FontWeight="Bold" FontFamily="Agency FB" Foreground="Green">
        <TextBlock.Style>
            <Style>
                <Style.Triggers>
                    <DataTrigger Binding="{Binding Blink}" Value="True">
                        <DataTrigger.EnterActions>
                            <BeginStoryboard Name="sbBlink">
                                <Storyboard>
                                    <ColorAnimation Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)"
                                            From="White" To="Red" FillBehavior="Stop"
                                            BeginTime="0:0:0" Duration="0:0:0.3"/>
                                    <ColorAnimation Storyboard.TargetProperty="(TextBlock.Background).(SolidColorBrush.Color)"
                                            From="Red" To="White"
                                            BeginTime="0:0:0.3" Duration="0:0:1"/>
                                </Storyboard>
                            </BeginStoryboard>
                        </DataTrigger.EnterActions>

                        <DataTrigger.ExitActions>
                            <RemoveStoryboard BeginStoryboardName="sbBlink"/>
                        </DataTrigger.ExitActions>
                    </DataTrigger>
                </Style.Triggers>
            </Style>
       </TextBlock.Style>
</TextBlock>

Private mBlink As Boolean = False
Public Property Blink() As Boolean
    Get
        Return mBlink
    End Get
    Set(value As Boolean)
        mBlink = value
        RaisePropertyChanged("Blink")
    End Set
End Property
wpf vb.net animation data-binding textblock
1个回答
0
投票

您无法为预定义画笔的Color属性设置动画。为Background属性添加一个Setter,该属性显式设置一个新的SolidColorBrush实例:

<TextBlock.Style>
    <Style TargetType="TextBlock">
        <Setter Property="Background">
            <Setter.Value>
                <SolidColorBrush Color="White"/>
            </Setter.Value>
        </Setter>
        <Style.Triggers>
            <DataTrigger Binding="{Binding Blink}" Value="True">
                <DataTrigger.EnterActions>
                    <BeginStoryboard Name="sbBlink">
                        <Storyboard>
                            <ColorAnimation Storyboard.TargetProperty="Background.Color"
                                From="White" To="Red" FillBehavior="Stop"
                                BeginTime="0:0:0" Duration="0:0:0.3"/>
                            <ColorAnimation Storyboard.TargetProperty="Background.Color"
                                From="Red" To="White"
                                BeginTime="0:0:0.3" Duration="0:0:1"/>
                        </Storyboard>
                    </BeginStoryboard>
                </DataTrigger.EnterActions>
                <DataTrigger.ExitActions>
                    <RemoveStoryboard BeginStoryboardName="sbBlink"/>
                </DataTrigger.ExitActions>
            </DataTrigger>
        </Style.Triggers>
    </Style>
</TextBlock.Style>
© www.soinside.com 2019 - 2024. All rights reserved.