0

我试图将 aTextBlock放在a 内ScrollViewer,并且滚动条正确显示,但我似乎无法让它在更新Text属性时自动向下滚动TextBlock。这是 XAML 的相关部分:

<ScrollViewer>
  <TextBlock FontFamily="Consolas"
             Text="{Binding Current.Current.Discussion}"
             TextWrapping="Wrap" />
</ScrollViewer>

帮助将不胜感激,谢谢!

4

2 回答 2

4

默认情况下,您得到的行为是滚动条将根据文本块中的文本量进行调整,但查看器将显示文本的顶部。要正确刷新,请执行以下操作:

scrollViewer.UpdateLayout();
scrollViewer.ScrollToVerticalOffset(txtBlock.ActualHeight);
于 2009-12-28T05:26:06.470 回答
0

监听文本更改事件

    textBlock.TextChanged += (o, args) => ScrollTextBoxToBotton();

滚动到底部的实际功能:

    private void ScrollTextBoxToBotton()
    {
        scrollViewer.UpdateLayout();
        scrollViewer.ScrollToVerticalOffset(double.MaxValue);
    }
于 2013-02-25T13:03:17.413 回答