2012-04-26 4 views
5

RichTextBox의 내용을 내용의 특정 줄로 옮기고 싶습니다. RichTextBox은 을 포함하는 ScrollViewer에서 제공합니다. 이 메서드는 MSDN에 설명되어 있지만 offset이라는 매개 변수의 측정 단위는 specified이 아닙니다. 유형은 double입니다.WPF RichTextBox의 줄 번호에서 ScrollToVerticalOffset에 대한 오프셋 계산

VerticalOffsetTextBox의 속성은 장치 독립적 인 단위 (단위당 1/96 인치)로 문서화됩니다.

그래서 글꼴 크기에서 오프셋을 계산하려고했습니다. 글꼴 크기는 픽셀 단위로 표시됩니다. 결과 수식은

offset = fontSize * 96/72 * lineNumber; 

입니다. 그러나 원하는 줄 뒤로 건너 뜁니다. 지금은이 계산을 사용하고 있습니다 :

offset = fontSize * lineNumber; 

이것이 맞습니까?

답변

2

이 질문을하는 데 오랜 시간이 걸리지 만 여전히 올바른 대답을 찾지 못했습니다. 이 방법보다는 하나의 솔루션으로 잘 알고있는 경우에, 저를 도와주세요

var offset = (lineNumber * (fontSize + 2)) - richTextBox.ActualHeight/2; 
richTextBox.ScrollToVerticalOffset(offset); 

:

는 나는 정말 나를 위해 좋은, 지금이 코드를 사용했다.

+0

계산이 좋은 것 같습니다. 하지만 지금은 계산을 확인할 수 없습니다. – Christian

관련 문제