如何在TextBlock上为Text Decoration Strikethrough设置动画?

时间:2009-06-11 21:14:16

标签: wpf animation textblock

我正在尝试为穿过文本块中的文本的线设置动画。 这是我到目前为止所拥有的。

<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Page.Resources>
    <Style x:Key="TextBlockEliminated">
        <Setter Property="Control.FontSize" Value="18"/>
        <Setter Property="Control.FontWeight" Value="Bold"/>
        <Setter Property="Control.Foreground" Value="Gray"/>
        <Setter Property="TextBlock.TextDecorations">
            <Setter.Value>
                <TextDecorationCollection>
                    <TextDecoration x:Name="animatedStrikeThrough" Location="Strikethrough"/>
                </TextDecorationCollection>
            </Setter.Value>
        </Setter>
    </Style>
</Page.Resources>
<Grid>
    <TextBlock Style="{StaticResource TextBlockEliminated}">Some Text
    </TextBlock>
</Grid>


请注意,我不会在任何地方应用DoubleAnimation因为我无法弄清楚如何将它应用于TextDecoration PinOffset。

1 个答案:

答案 0 :(得分:1)

将两个TextBlock堆叠在一起,一个使用普通文本,另一个使用三角形,但其Opacity设置为零。然后,为动画淡入和淡出不透明度。