控制FlowDocumentScrollViewer滚动到最下方
原文发布于:https://www.chenxublog.com/2019/07/14/contrlo-flowdocumentscrollviewer-to-bottom.html
由于我在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();