WPF Richtextbox上下滚动一页?

时间:2015-12-12 06:24:42

标签: c# wpf scroll richtextbox

我想在wpf richextbox.i尝试

中向上滚动页面并向下翻页
var start = txtAppendValue.Selection.Start.GetCharacterRect(LogicalDirection.Forward);
               var end = txtAppendValue.Selection.End.GetCharacterRect(LogicalDirection.Forward);
               txtAppendValue.ScrollToVerticalOffset((start.Top + end.Bottom - txtAppendValue.ViewportHeight) / 2 + txtAppendValue.VerticalOffset);

但它会不断滚动每一行开头,如果当前偏移值移动到richtextbox中的非可见区域,我想向上移动页面或向下翻页而不是逐行滚动。

注意:我也尝试过BringIntoView();

FrameworkContentElement fce = (textRange.Start.Parent as FrameworkContentElement);
            if (fce != null)
            {
                fce.BringIntoView();
            }

在我使用textrange.clearallproperties()后它无法正常工作。在此之前它可以工作。

那么,请告诉我如何滚动页面和向下翻页?

此致 巴拉

1 个答案:

答案 0 :(得分:0)

向下滚动一页:

EditingCommands.MoveDownByPage.Execute(null, yourRichTextBox);

向上滚动一页:

EditingCommands.MoveUpByPage.Execute(null, yourRichTextBox);