我在wpf richtextbox中工作。使用以下函数用于页面向上。
TextRange range10 = new TextRange(txtAppendValue.CaretPosition.GetLineStartPosition(1), txtptrCaret);
FrameworkContentElement fce1 = (range10.End.Parent as FrameworkContentElement);
if (fce1 != null)
{
fce1.BringIntoView();
range10 = null;
fce1 = null;
}
它正在工作。我清除了richtextbox并加载了其他一些内容,那时显示了上次发生翻页的内容?如何清除我重新加载文档的时间。
更新:
public void HideTopBorder()
{
TextPointer currentline = txtAppendValue.CaretPosition.GetLineStartPosition(1);
System.Windows.Rect rc = currentline.GetCharacterRect(LogicalDirection.Forward);
System.Windows.Point upperLeftCorner = rc.Location;
HitTestResult result = VisualTreeHelper.HitTest(txtAppendValue, upperLeftCorner);
if (result == null)
{
Thickness margin = txtAppendValue.Margin;
margin.Top = -20;
txtAppendValue.Margin = margin;
currentline = null;
}
else
{
currentline = null;
}
}
结果null后只发生pageup.at那次我清除文档并加载另一个文档。但是现在显示了已经平移的point.not文档顶部的richtextbox。
此致 阿琼
答案 0 :(得分:1)
在加载新文档之前,请保存rtb.VerticalOffset
的值。然后加载新文档并将存储的值重新分配给rtb.VerticalOffset
。