따라서 모노 폰트 글꼴이 있고 각 줄마다 동일한 문자 수를 가져야합니다 (아래에 표시) RichTextBox
이 있습니다. 이렇게하려면 상자에 입력하는 문자열에 x
자를 매입 한 후 \n
개행 문자를 삽입해야합니다.TextPointers로 선택할 때 줄 바꿈 문자를 강조 표시하지 마십시오.
또한 커서가 화살표 키를 누른 채로 이동하여 개별 문자를 선택하는 알고리즘을 사용할 수 있습니다. 커서가 상자의 단어를 포함하고 있으면 단어 전체가 강조 표시됩니다.
문제점 : 단어가 여러 줄에 걸쳐있을 때 첫 줄의 마지막 문자 뒤에 공백이 오는데, 이는 \n
문자로 인한 것입니다.
RichTextBox.Selection.Select()
은이 공백을 강조 표시하지 않으려면 어떻게합니까? 구문 분석 할 때 문자 선택을 제거 할 수 있지만이 빈 공간을 강조 표시 할 수 있어야합니다.
편집 : 받아 들일 수있는 대안은 개행을 필요 없다는 것입니다. 마찬가지로, RichTextBox
을 수정하여 각 줄마다 항상 12자를 갖도록하지만, 창의 크기를 조정하기 쉽도록 유지하는 것이 이상적이지 않습니다.
업데이트 : XAML 내의 텍스트 열 너비를 줄이면 가장자리를 넘나 드는 강조의 크기는 줄어들지 만 완전히 제거되지는 않은 것으로 보입니다. 텍스트를 줄 바꿈하지 않고 더 이상 너비를 줄일 수 없습니다.
과 비슷한 무언가가 : 당신은 어떻게 특정 캐리지 리턴 출력 길이를 제한 할 수 있다는 것을 알고 당신은 옆에있는 선택에 걸쳐 필요 또는 텍스트의 일부인 캐리지 리턴입니다.이 경우 하이라이트를 확장하지 않을 수도 있습니다. –
텍스트 상자에 맞추기 전에 캐리지 리턴과 줄 바꿈을 원본 텍스트에서 스트라이프 아웃합니까? –
아니요. 원본 텍스트는 하나의 인접한 문자열입니다. 나는 12 문자마다'\ r'을 덧붙인다. – Airhead