控制FlowDocumentScrollViewer滚动到最下方

由于我在llcom里使用了FlowDocumentScrollViewer来实现可滚动的数据收发内容显示,但是遇到了一个问题

怎么保证在数据刷新时,FlowDocumentScrollViewer自动滚动到最下方?

其实这个解决方案很简单,但是在stackoverflow上面的各种答案把真正能解决的答案混淆得找不到了?

解决方案

比如我有下面的这段xaml:

<FlowDocumentScrollViewer Name="uartDataFlowDocument" VerticalScrollBarVisibility="Visible" MinZoom="50">
    <FlowDocument FontSize="12" FontFamily="Consolas" IsOptimalParagraphEnabled="True" TextAlignment="Left">
    </FlowDocument>
</FlowDocumentScrollViewer>

如何控制呢?首先新建一个全局的变量:

ScrollViewer sv;

然后再loaded事件里加上如下代码:

//使日志富文本区域滚动可控制
sv = uartDataFlowDocument.Template.FindName("PART_ContentHost", uartDataFlowDocument) as ScrollViewer;

最后就能控制这个控件了:

//滚动到最下面
sv.ScrollToBottom();

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注