我们的应用程序启动了几个后台进程,并将它们的输出放入TextBoxes - 每个都在TabControl中的一个单独的TabItem中.我希望TextBoxes自动滚动以显示最后一个输出行,因此在将输出/错误行添加到文本框的数据处理函数中,我也调用TextBox.ScrollToEnd():
void OnServerProcessOutputDataReceived(object sender, DataReceivedEventArgs e)
{
if (e.Data != null)
{
Dispatcher.Invoke(new Action(() =>
{
TextBox tb = getServerProcessOutputTextBox(sender);
if (tb != null)
{
tb.AppendText(e.Data + Environment.NewLine);
tb.ScrollToEnd();
}
}));
}
}
Run Code Online (Sandbox Code Playgroud)
这对于活动选项卡中的TextBox非常有用,但是当我切换到另一个选项卡时,我发现它没有滚动到最后.
这是一个已知的问题吗?有办法解决吗?
我正在构建一个覆盆子Pi(Windows IoT)的应用程序,它接受UDP消息并在屏幕上显示它们.
我需要一种方法让文本自动水平滚动屏幕.我无法让用户点击按钮,因为没有连接到Pi的输入设备.
到目前为止,我一直在玩一个滚动查看器并手动调整它的HorizontalAlignment值,但没有用(我对整个UWP/XAML的东西都是新手).
任何人都可以向我展示一些代码,这些代码可以使文本块中的文本自动从右向左滚动(文本在数字显示器上滚动的方式),不会中断应用程序中运行的任何其他代码(接收udp消息和勾选计时器)?
提前谢谢了.