为textbox.text属性设置动画

时间:2012-03-17 09:03:09

标签: .net wpf storyboard

下面的问题有点令人困惑 Why isn't TextBox.Text in WPF animatable?  因为我无法理解问题是否以解决方案/解决方案的方式得到解答,或者只是解释了为什么这种情况不会发生的技术背景。

我可能会遇到同样的情况,并想知道如何使用WPF故事板为文本框文本属性设置动画。

这是我目前的示例代码。

<Grid>

        <TextBox Height="23" HorizontalAlignment="Left" Margin="90,44,0,0" Name="textBox1" VerticalAlignment="Top" Width="120" Text="">
            <TextBox.Triggers>
                <EventTrigger RoutedEvent="TextBox.TextChanged">
                    <BeginStoryboard>
                        <Storyboard>
                            <DoubleAnimation Storyboard.TargetName="textBox1.Text" Storyboard.TargetProperty="Opacity"
                                             From="1.0" To="0.0" Duration="0:0:5" AutoReverse="True" RepeatBehavior="Forever"/>
                        </Storyboard>

                    </BeginStoryboard>
                </EventTrigger>

            </TextBox.Triggers>

        </TextBox>
    </Grid>

2 个答案:

答案 0 :(得分:3)

<TextBox Text="tata" BorderBrush="Black" Foreground="Black">
        <TextBox.Style>
                <Style>
                    <Style.Triggers>
                    <EventTrigger RoutedEvent="TextBox.TextChanged">
                        <BeginStoryboard>
                            <Storyboard>
                                <ColorAnimation Storyboard.TargetProperty="Foreground.Color" To="Transparent" Duration="0:0:2" />
                            </Storyboard>
                        </BeginStoryboard>
                    </EventTrigger>                  
                </Style.Triggers>
                </Style>
        </TextBox.Style>
    </TextBox>

答案 1 :(得分:0)

您的TargetName应该是textBox1,而不是textBox1.TextOpacity属性存在于TextBox上,而不是String上(TextBox.Text的类型)。