【发布时间】:2014-01-02 14:34:00
【问题描述】:
我正在尝试制作一个动画,捕捉 TextChanged 事件并使新添加的字符从 fontsize 0 淡化为我设置的大小。
我有动画工作,但是,当我输入一个新字符时,文本框的全部内容都会随之改变,但我只想要按下的键。
这是我的代码:
private void CreateTextboxAnimation(TextBox box)
{
// Info Needed By Control
double FontSize = box.FontSize;
//
DoubleAnimation Anim = new DoubleAnimation();
Anim.From = 0.0;
Anim.To = FontSize;
Anim.Duration = new Duration(TimeSpan.FromMilliseconds(100));
Anim.AutoReverse = false;
SB = new Storyboard();
SB.Children.Add(Anim);
Storyboard.SetTargetName(Anim, box.Name);
Storyboard.SetTargetProperty(Anim, new PropertyPath(TextBox.FontSizeProperty));
}
private Storyboard SB;
private void TestBox_TextChanged(object sender, TextChangedEventArgs e)
{
if (TestBox.IsLoaded == true)
{
SB.Begin(TestBox);
}
}
【问题讨论】:
-
您最好的选择可能是使用
RichTextBox。您将能够操纵单个字符。
标签: c# wpf animation storyboard font-size