这是我在 MainPage.xaml.cs 中为创建文本动画效果所做的:
private readonly double TEXT_TIMER = 30.0;
private int index;
private void updateText(String text)
{
_text = text;
index = 0;
MainTextBlock.Text = "";
_textTimer.Tick += _textTimer_Tick;
_textTimer.Interval = TimeSpan.FromMilliseconds(TEXT_TIMER);
_textTimer.Start();
}
private void _textTimer_Tick(object sender, EventArgs e)
{
if (index < _text.Length)
{
string s = _text[index].ToString();
MainTextBlock.Text += s;
index++;
}
else
{
_textTimer.Stop();
}
}
我有一个文本/字符串列表和一个按钮,比如NextButton
在 MainPage.xaml 上。该updateText
方法在 的点击事件中NextButton
,它的作用是从文本/字符串列表中获取文本并使用动画效果更新文本块。
但我意识到,当我继续点击 时NextButton
,好像 的值TEXT_TIMER
在减少,动画效果发生得更快,直到不再有动画(即文本只是出现在文本块中,没有任何效果)。
任何人都知道为什么会发生这种情况以及我该如何解决?
编辑:我已经包含了在文本块更新后停止计时器的代码,希望能够解决可能的多个 Tick 回调,但仍然没有。