我目前正在为raspberry Pi(Windows IoT)构建一个应用程序,它接受UDP消息并在屏幕上显示它们。
我需要一种方法让文字自动水平滚动屏幕。我不能让用户点击按钮,因为没有连接到Pi的输入设备 到目前为止,我一直在玩一个滚动查看器并手动调整它的HorizontalAlignment值,但没有用(我对整个UWP / XAML的东西都是新手)。
任何人都可以向我展示一些代码,这些代码会使文本块中的文本自动从右向左滚动(文本在数字显示器上滚动的方式),这些代码不会中断在应用程序中运行的任何其他代码(接收udp消息并勾选计时器)?
非常感谢提前。
答案 0 :(得分:6)
您可以在TextBlock
内设置ScrollViewer
,以便滚动它,例如:
<ScrollViewer x:Name="scrollviewer" VerticalScrollBarVisibility="Disabled" HorizontalScrollBarVisibility="Hidden"
VerticalScrollMode="Disabled" HorizontalScrollMode="Enabled" Grid.Row="1" Loaded="scrollViewer_Loaded"
Unloaded="scrollviewer_Unloaded">
<TextBlock Text="Start:111fdafdilgklnkghiogj2222213135aaaadjiosfuiafkhafuia464676541134564132145546afafkjarpikfsanjahfnvfnvjkhghga:End" TextWrapping="NoWrap"
FontSize="40" />
</ScrollViewer>
在后面的代码中使用DispatcherTimer
来设置滚动计时器,Loaded event
ScrollViewer
启动此计时器并Unloaded event
{ {1}}停止此计时器:
ScrollViewer
注意到你的应用程序是针对raspberry Pi,只是在RP2,OS版本10.0.14376.0上测试了这个代码,它运行正常。
答案 1 :(得分:0)
看这篇文章: Multiline Textbox with automatic vertical scroll
将TextBlock替换为只读TextBox,这样您就可以在每次更新内容时以编程方式滚动到结尾。