wpf中如何让richtextbox的滚动条显示

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了wpf中如何让richtextbox的滚动条显示相关的知识,希望对你有一定的参考价值。

wpf中如何让richtextbox的滚动条显示

参考技术A VerticalScrollBarVisibility="Visible" 上下的滚动条

<RichTextBox HorizontalAlignment="Left" Margin="186,172,0,218.685" Width="158" VerticalScrollBarVisibility="Visible">
<FlowDocument>
<Paragraph><Run Text="RichTextBox"/></Paragraph>
</FlowDocument>
</RichTextBox>本回答被提问者采纳
参考技术B VerticalScrollBarVisibility="Visible"
上下的滚动条
<RichTextBox
HorizontalAlignment="Left"
Margin="186,172,0,218.685"
Width="158"
VerticalScrollBarVisibility="Visible">
<FlowDocument>
<Paragraph><Run
Text="RichTextBox"/></Paragraph>
</FlowDocument>
</RichTextBox>
参考技术C richtextbox.scrollbars属性

WPF richTextBox 滚动到某项

 

在网上没有找到合适的代码,自己写了一段,还有待优化。。。

 

直接上代码

 

/// <summary>
        /// 滚动到某项
        /// </summary>
        /// <param name="sparent"></param>
        private void ScrollItem(Block sparent)
        {
            int count = richTextBox1.Document.ContentStart.GetOffsetToPosition(richTextBox1.Document.ContentEnd);//获取整个textbox中文本的高度
            int s1 = richTextBox1.Document.ContentStart.GetOffsetToPosition(sparent.ContentEnd);//项block到文档起点的高度
            int s2 = sparent.ContentEnd.GetOffsetToPosition(richTextBox1.Document.ContentEnd);//项block到文档结束点的高度 

            double h1 = (double)scHeight / count * s1;// (int)((scheight / 100) * s1);//滚动条高度平分,提取滚动条位置点

            richTextBox1.ScrollToVerticalOffset(h1 - 60);
        }



        private void richTextBox1_ScrollChanged(object sender, ScrollChangedEventArgs e)
        {
            scHeight = e.ExtentHeight;
        }

 

以上是关于wpf中如何让richtextbox的滚动条显示的主要内容,如果未能解决你的问题,请参考以下文章

WPF RichTextBox滚动条自动滚动实例文本自动滚动实例

C#中,如何让richTextBox旁边的滚动条始终处于最下方

十万火急!VB6.0中的RichTextBox文本如何设置出现滚动条!!!

C#中怎样让richTextBox控件的滚动条跟随数据向下移动!

WPF RichTextBox滚动到TextPointer

RichTextBox 滚动条在某些 PC 上不显示