如何使ScrollViewer自动化

时间:2009-12-28 04:06:11

标签: c# wpf xaml scroll scrollviewer

我尝试在TextBlock内放置一个ScrollViewer,滚动条显示正确,但我似乎无法在Text TextBlock属性时自动向下滚动{1}}已更新。这是XAML的相关部分:

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

非常感谢帮助,谢谢!

2 个答案:

答案 0 :(得分:4)

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

scrollViewer.UpdateLayout();
scrollViewer.ScrollToVerticalOffset(txtBlock.ActualHeight);

答案 1 :(得分:0)

收听文字更改事件

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

滚动到底部的实际功能:

    private void ScrollTextBoxToBotton()
    {
        scrollViewer.UpdateLayout();
        scrollViewer.ScrollToVerticalOffset(double.MaxValue);
    }