Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用WPF设置单词重建过程的动画?_C#_Wpf_Animation_Text - Fatal编程技术网

C# 如何使用WPF设置单词重建过程的动画?

C# 如何使用WPF设置单词重建过程的动画?,c#,wpf,animation,text,C#,Wpf,Animation,Text,我有一个单词和它的子单词列表。有没有可能显示这个词是如何从它的子词中编译出来的 换句话说,我想通过以下方式为重建过程设置动画: 1.单词=abcc; 2.子字列表={ab,bc,cc}; 3.在第一步,子词ab显示; 4.接下来,子单词列表中的bc高亮显示,并在前一个子单词中替换b,因此屏幕上现在有abc; 5.之后,cc突出显示并替换abc中的字母c; 6.总而言之,现在屏幕上有abcc 我应该如何处理这个问题?我打算用这个解决方案来改变最后一句话中不同部分的颜色,但我不知道如何使这个过程的其

我有一个单词和它的子单词列表。有没有可能显示这个词是如何从它的子词中编译出来的

换句话说,我想通过以下方式为重建过程设置动画: 1.单词=abcc; 2.子字列表={ab,bc,cc}; 3.在第一步,子词ab显示; 4.接下来,子单词列表中的bc高亮显示,并在前一个子单词中替换b,因此屏幕上现在有abc; 5.之后,cc突出显示并替换abc中的字母c; 6.总而言之,现在屏幕上有abcc


我应该如何处理这个问题?我打算用这个解决方案来改变最后一句话中不同部分的颜色,但我不知道如何使这个过程的其他部分动画化。顺便问一下,在重建过程中,我是否也可以显示子字和字之间的行?

您可以尝试将字符串转换为字符数组,然后循环,将每个字符递增到您想要显示的位置,同时用线程暂停。睡眠几秒钟:

string a = "Hello World!";
char[] b = a.ToCharArray();
for (int i = 0; i < b.Length; i++)
{
   textblock1.Text+=a[i];
   Thread.Sleep(100);
}
我忘记提到的是,请确保在单独的线程上执行此函数,否则您的应用程序将等待周期结束,这对于用户来说似乎是应用程序正在挂起


根据我的示例代码的当前状态,对于字符串包含的每个字符,应用程序将挂起100毫秒,这将损失1秒和200毫秒。

wpf或winforms?使用WPF,您将拥有内置的动画功能,而使用winforms,您将不得不使用计时器。@Mathis说实话,我不确定这样做的正确方法是什么,但是,我打算使用WPF。看看您应该如何提问:这不太合适。@cthulu孩子谢谢,“我会很快解决我的问题的。”瓦尔泽瓦尔,这可能就是为什么有人投票否决了你。一旦你修好了,我就投你一票。