【发布时间】:2012-01-24 14:59:30
【问题描述】:
我需要创建一个在启动画面上显示文本进度的控件(例如,将显示加载的各种模块和启动状态)。我希望控件仅显示最后 3 或 4 行,以便新文本以流畅的动画方式将先前的文本向上推。
我应该为此控件或其他控件使用 TextBox 控件吗?如果有人能够为我指明正确的方向,那就太好了。
【问题讨论】:
-
平滑滚动的文字很难!如果“平滑度”是一项要求,请确定它是什么硬件要求!
-
没有时间写代码示例,因此评论无法回答,但您是否考虑过使用创建从 Canvas 派生的自定义控件,其中包含 4x TextBlocks 用于线条并为 Canvas.GetTop 附加属性设置动画?
-
您可能应该使用 TextBlocks(而不是 TextBoxes)。正如 Andrew Burnett-Thompson 博士在他的评论中所描述的那样,您还可以使用 Storyboard 为其位置设置动画。
-
网上有几个这样的例子。搜索 WPF 选取框。
-
我不确定这些是否可行,因为我不希望它表现得像一个普通的选框。我希望 Textblock 始终显示最后 3 或 4 行文本。只有在将更多文本推入其中时,它才会向上滚动,以便为它腾出空间。我将使用 UI 来显示正在加载的模块,以便将文本慢慢添加到其中。到目前为止,我发现的所有内容都是针对刚刚飞出屏幕的字幕文本。
标签: c# wpf textbox scroll smooth-scrolling